제출 #1314087

#제출 시각아이디문제언어결과실행 시간메모리
1314087activedeltorreDetecting Molecules (IOI16_molecules)C++20
100 / 100
39 ms5128 KiB
#include "molecules.h" #include <vector> #include <algorithm> using namespace std; long long spar[1000005]; vector<pair<int,int>>vec; vector<int>makevec(int st,int dr) { vector<int>rez; for(int i=st-1;i<dr;i++) { rez.push_back(vec[i].second); } return rez; } std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n=w.size(); for(int i=0;i<w.size();i++) { vec.push_back({w[i],i}); } sort(vec.begin(),vec.end()); for(int i=1;i<=n;i++) { spar[i]=spar[i-1]+vec[i-1].first; } for(int pref=1;pref<=n;pref++) { if(spar[pref]>=l && spar[pref]<=u) { return makevec(1,pref); } } for(int suf=1;suf<n;suf++) { if(spar[n]-spar[suf]>=l && spar[n]-spar[suf]<=u) { return makevec(suf+1,n); } } int can=0; for(int k=1;k<=n;k++) { if(spar[k]>u) { can=k-1; break; } } for(int i=1;i+can-1<=n;i++) { if(spar[i+can-1]-spar[i-1]>=l && spar[i+can-1]-spar[i-1]<=u) { return makevec(i,i+can-1); } } return std::vector<int>(0); }

컴파일 시 표준 에러 (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...