Submission #414871

#TimeUsernameProblemLanguageResultExecution timeMemory
414871MeGustaElArroz23Detecting Molecules (IOI16_molecules)C++14
100 / 100
65 ms10212 KiB
//#include <cstdio> //#include <vector> //#include <cassert> #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'; } vector<int> find_subset(int l, int u, vector<int> w) { int n=w.size(); vii v(n); for (int i=0;i<n;i++) v[i]=pii{w[i],i}; sort(v.begin(),v.end()); vii pref(n+1); pref[0]=pii{0,0}; 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; } 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)){ vi sol(i); for (int j=0;j<i;j++) sol[j]=j; ll suma=pref[i].first; int counter=0; while(suma<l){ suma-=v[counter].first; suma+=v[n-counter-1].first; sol[counter]=n-counter-1; counter++; } for (int j=0;j<i;j++) sol[j]=v[sol[j]].second; sort(sol.begin(),sol.end()); vector<int> solu(i); 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:17:12: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   17 | 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...