Submission #1163401

#TimeUsernameProblemLanguageResultExecution timeMemory
1163401AzaDetecting Molecules (IOI16_molecules)C++20
0 / 100
127 ms131072 KiB
//AzaLE (Azamat Alisherov) #include <bits/stdc++.h> //#include "molecules.h" #define F first #define S second #define size(x) (int)x.size() #define all(x) x.begin(),x.end() using namespace std; vector <int> find_subset(int l, int r, vector<int> v){ int mx = r; vector <bool> dp1(r + 1, false);//Can we reach value?; vector <int> dp2(r + 1, -1);//Index we used to reach; vector <int> dp3(r + 1);//Difference between previous value dp1[0] = true; dp2[0] = -1; for(int i = 0; i < size(v); i++){ int cur = v[i]; for(int x = mx; x >= 0; x--){ if(dp1[x] != 1e18){ if(x + cur <= mx){ dp1[x + cur] = true; dp2[x + cur] = i; dp3[x + cur] = cur; if(x + cur >= l and x + cur <= r){ vector <int> ans; int curdx = x + cur; while(curdx > 0){ ans.push_back(dp2[curdx]); curdx -= dp3[curdx]; } return ans; } } } } } return {}; } /* */

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...