// écrit la liste d'entiers I void ecrire(vint I) { printf("vint : %d valeur(s)\n", I.size()); for (unsigned int i=0; i < I.size(); i++) printf(" %d", I[i]); printf("\n"); }
static void copy(vint v, vint& u){ if(!u.init()) return; while(v.capacity > u.capacity) u.aumenta(); u.sz = v.size(); for(int i = 0; i < v.size(); i++){ *u[i] = *v[i]; } }
void even(int n){ int ptr=upper_bound(p.begin(),p.end(),n>>1)-p.begin()-1; while(ptr>=0){ if(sp.find(n-p[ptr])!=sp.end()){ printf("2 %d %d\n",p[ptr],n-p[ptr]); return; } --ptr; } }
void TestWidget::loadInjection(const QString & file ) { QString f(":/test/wtr/"); f+=file; QFile filein(f); if (!filein.open(QFile::ReadOnly)) qDebug("Nie udane otwarcie pliku: %s",qPrintable(file)); /* for (int i=0;i<11;i++) { filein.getline(buffer,1023,'\n'); // pominiecie nag³ówka //cout<<buffer<<endl; } */ double /*pos, vel,*/p1,p2,p3; times.clear(); // vint // velocity.clear(); // vint press1.clear(); // vint; press2.clear(); press3.clear(); // position.clear(); //lpair int time = 0; QTextStream stream(&filein); while (!filein.atEnd()) { ///stream>>pos; stream>>p3; stream>>p1; stream>>p2; //qDebug("Strem %f,%f,%f",p1,p2,p3); stream.readLine() ; // getline(buffer,1023,'\n'); // eat rest of the line // filein>>vel; times.push_back(time); // position.push_back( pair<double,double>(time,pos)); // velocity.push_back((int)vel); press1.push_back((int)p1); press2.push_back((int)p2); press3.push_back(p3); //filein>>buffer; // cout<<time<<" p:"<<pos<<" v:"<<vel<<" p1:"<<p1<<endl; //" "<<p2<<" "<<p3<<endl; ++time; } chart->channels().clear(); initCharts(); chart->update(); }
void pnt(int lft,int st){ pit(mx);el; while(lft>=st){ ans.pb(st); lft-=st; ++st; } ans.back()+=lft; for(auto &i:ans)pit(i),spc;el; }
int main(){ int ts; cin>>ts; while(ts--){ pos.clear(); int n,k; cin>>n>>k; for(int i=0,t;i<n;++i){ cin>>t; pos.pb(t); } sort(pos.begin(),pos.end()); int L=0,R=1000000000,M; while(R>L){ M=(L+R)>>1; if(can(M,k))R=M; else L=M+1; } cout<<L<<endl; } }
bool dfs(int n,int lft){ if(lft==1){ if(sp.find(n)!=sp.end()){ oa[0]=n;return 1; } return 0; } else if(lft==2){ int ptr=upper_bound(p.begin(),p.end(),n>>1)-p.begin()-1; while(ptr>=0){ oa[1]=p[ptr]; if(dfs(n-p[ptr],lft-1))return 1; } --ptr; return 0; }
void go(int now,int pa){ if(del[now])return; ans.pb(now); del[now]=1; for(int i:G[now]){ if(i!=pa)go(i,now); } }
void init(){ for(int i=2;i<=1000;++i){ if(!v[i])p.pb(i); for(int j=0;i*p[j]<=1000;++j){ v[i*p[j]]=1; if(i%p[j]==0)break; } } for(int i:p)sp.insert(i); }
void outit() { int i , j , k; ff(i,tolans) pb(xu,i); sort2(xu); ff(i,xu.size()) cout << xu[i] << ' ' << d[xu[i]].size() << endl; cout << endl; ff(i,tolans) { sort1(ans[xu[i]]); ff(j,ans[xu[i]].size()) cout << ans[xu[i]][j] << ' '; cout << endl; }
void ParameterSlider::setValues(const vint& values, const QStringList& labels) { Q_ASSERT(values.size() == labels.size()); m_values = values; m_labels = labels; setEnabled(m_values.size() > 1); if (!m_values.empty()) { m_ui->slider->setRange(0, m_values.size() - 1); setSliderPosition(0); } }
void sortit(vint arr){ int n= arr.size(); for(int i= 0; in-1; i++){ for(int j= i; jn-1; j++){ if(arr[j] arr[j+1]){ swap(arr[j], arr[j+1]); } } } for(int i= 0; in; i++){ cout arr[i] ; } }
int main(){ CPPinput; int n; cin>>n; if(n==1)exit((cout<<"YES\n1\n",0)); if(n==2)exit((cout<<"NO"<<endl,0)); int root=0; for(int i=1;i<=n;++i){ int pa; cin>>pa; if(pa)G[pa].pb(i),G[i].pb(pa); else root=i; } for(int i=1;i<=n;++i)deg[i]=G[i].size(); dfs(root,root); /* auto cmp=[&](const int &a,const int &b){return dep[a]<dep[b];}; priority_queue<int,vint,decltype(cmp)> pq(cmp); for(int i=1;i<=n;++i){ if(son[i].size()==0)pq.push(i); } PDE(pq); inq[0]=1; while(pq.size()){ int now=pq.top(); pq.pop(); PDE(pq,now,del[now],deg[now]); if(del[now])continue; if(deg[now]&1){ int pa=p[now]; if(inq[pa])continue; pq.push(pa); inq[pa]=1; continue; } // ans.pb(now); // del[now]=1; int pa=p[now]; --deg[pa]; son[pa].erase(now); if(son[pa].empty()){ if(inq[pa]); else{ pq.push(pa); inq[pa]=1; } } go(now); } */ PDE(ans); if(ans.size()!=n)exit((cout<<"NO"<<endl,0)); cout<<"YES"<<endl; for(int i:ans)cout<<i<<'\n'; }
int main(){ int n,m;while(cin>>n>>m){ if(n==0 && m==0)break; G.clear(), G.resize(n); ans.clear(), ans.resize(n); low.clear(), low.resize(n); num.clear(), num.resize(n); timer=0; while(1){ int u,v;cin>>u>>v; if(u==-1 && v==-1)break; // if(!~u&&!~v)break; G[u].pb(v), G[v].pb(u); } dfs(0,0); sort(ans.begin(),ans.end(),[](const pii &a,const pii &b)->bool{ return a.X==b.X?a.Y<b.Y:a.X>b.X; }); for(int i=0;i<m;++i){ printf("%d %d\n",ans[i].Y,ans[i].X); } el; } }
void show(const vint & v, int cols) { using std::cout; using std::endl; int lim = v.size(); for(int i = 0; i < lim; ++i) { cout.width(3); cout << v[i]; if(i % cols == cols - 1) cout << endl; else cout << ' '; } if(lim % cols != 0) cout << endl; }
int main(){ int n;cin>>n; for(int i=0;i<n;++i){ int t;cin>>t; if(t&1)o.pb(t); else e.pb(t); } sort(o.begin(),o.end()); reverse(o.begin(),o.end()); // sort(e.begin(),e.end()); reverse(e.begin(),e.end()); int mx=o[0],now=o[0]; for(int i=1;i+1<o.size();i+=2){ now+=o[i]+o[i+1]; mx=max(mx,now); } for(int i:e)if(i>0)mx+=i; cout<<mx<<endl; }
void pdfs(int now){ if(in[now])return; in[now]=1; for(int i:G[now])pdfs(i); tp.pb(now); }
long long hash(vint x) { long long s = 0; for (int i = 0; i < x.size(); i++) s = (s * 2333333 + (x[i]+1)) % 23333333333333333LL; return s; }