Submission #414793

#TimeUsernameProblemLanguageResultExecution timeMemory
414793MeGustaElArroz23Detecting Molecules (IOI16_molecules)C++14
0 / 100
2 ms332 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vi; typedef vector<vi> vvi; typedef pair<ll,ll> pii; typedef vector<pii> vii; typedef vector<vii> vvii; void debug(auto v){ for (auto x:v) cerr << x << ' '; cerr << '\n'; } //void debug(vii v){ // for (auto x:v) cerr << x.first <<' '<< x.second << '\n'; // cerr << '\n'; //} vector<int> find_subset(int l, int u, vector<int> w) { //cerr<<1; int n=w.size(); vii v(n); //cerr<<4; for (int i=0;i<n;i++) v[i]=pii{w[i],i}; //cerr<<3; sort(v.begin(),v.end()); vii pref(n+1); pref[0]=pii{0,0}; //cerr<<2; for (int i=1;i<=n;i++){ pref[i].first=pref[i-1].first+v[i-1].first; pref[i].second=pref[i-1].second+v[n-i].first; } //cerr<<0; //debug(pref); for (int i=1;i<=n;i++){ if ((l>=pref[i].first and l<=pref[i].second) or (u>=pref[i].first and u<=pref[i].second) or (l<=pref[i].first and u>=pref[i].second)){ //cerr<<i; vi sol(i); for (int j=0;j<i;j++) sol[j]=j; ll suma=pref[i].first; int counter=0; while(suma<u){ //debug(sol); //cerr << suma << '\n'; suma-=v[counter].first; suma+=v[n-counter-1].first; sol[counter]=n-counter-1; counter++; } //cerr<<0; //debug(sol); //cerr << suma << '\n'; //debug(sol); //cerr<<0; //cerr << i << '\n'; //debug(sol); //cerr << i << '\n'; for (int j=0;j<i;j++) sol[j]=v[sol[j]].second; //debug(sol); //cerr<<1; //cerr<<0; sort(sol.begin(),sol.end()); //cerr<<2; vector<int> solu(i); //cerr<<1; for (int j=0;j<i;j++) solu[j]=sol[j]; //cerr<<3; debug(solu); return solu; } } return vector<int>(0); }

Compilation message (stderr)

molecules.cpp:13:12: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   13 | void debug(auto v){
      |            ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...