제출 #157136

#제출 시각아이디문제언어결과실행 시간메모리
157136GioChkhaidzeDetecting Molecules (IOI16_molecules)C++14
100 / 100
72 ms7192 KiB
#include <bits/stdc++.h> #define F first #define S second #include "molecules.h" using namespace std; long long n,L,U; pair < long long , int > p[200005]; vector < int > ANS; std::vector<int> find_subset(int l, int u, std::vector<int> w) { n=w.size(); int L=l,U=u; for (int i=1; i<=n; i++) { p[i].F=w[i-1]; p[i].S=i; } sort(p+1,p+n+1); for (int i=1; i<=n; i++) p[i].F+=p[i-1].F; for (int i=1; i<=n; i++) { int l=0,r=i,mid,ans=-1; while (l<=r) { mid=(l+r)/2; if (L<=p[i].F-p[mid].F) { ans=mid; l=mid+1; } else r=mid-1; } if (ans==-1) continue; if (L<=p[i].F-p[ans].F && p[i].F-p[ans].F<=U) { for (int j=ans+1; j<=i; j++) ANS.push_back(p[j].S-1); return ANS; } } return std::vector<int>(0); }
#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...