Submission #72560

#TimeUsernameProblemLanguageResultExecution timeMemory
72560aleksamDetecting Molecules (IOI16_molecules)C++14
0 / 100
3 ms596 KiB
#pragma once #include <bits/stdc++.h> #define MAX_N 500000 using namespace std; long long L[MAX_N], D[MAX_N]; int N; set<long long> S; vector<int> find_subset(int l, int u, vector<int> w) { N=w.size(); L[0]=w[0]; for(int i=1; i<N; ++i){ L[i]=L[i-1]+w[i]; if(L[i]>=l && L[i]<=u){ vector<int> ret; for(int j=0; j<i+1; ++j){ ret.push_back(j); } return ret; } } D[N-1]=w[N-1]; for(int i=N-2; i>=0; --i){ D[i]=D[i+1]+w[i]; if(D[i]>=l && D[i]<=u){ vector<int> ret; for(int j=N-1; j>=i; --j){ ret.push_back(j); } return ret; } } S.insert(0); for(int i=N-2; i>=0; --i){ S.insert(D[i+1]); auto x=S.lower_bound((long long)l-L[i]); long long val=*x; if(val<=u-L[i]){ //To je to, nasao sam resenje vector<int> ret; int ind=-1; for(int j=i+1; j<N; ++j) if(D[j]==val+L[i]) ind=j; for(int j=0; j<=i; ++j) ret.push_back(j); for(int j=ind; j<N; ++j) ret.push_back(j); return ret; } } vector<int> ret; return ret; }

Compilation message (stderr)

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