제출 #1323650

#제출 시각아이디문제언어결과실행 시간메모리
1323650fahmid_rngDetecting Molecules (IOI16_molecules)C++20
100 / 100
39 ms6812 KiB
#include<bits/stdc++.h> #include "molecules.h" using namespace std; using ll=long long; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n=w.size(),L=-1,R=-2; vector<pair<ll,int>> a(n); vector<ll> pref(n+1); for(int i=0;i<n;++i){ a[i]={w[i],i}; } sort(a.begin(),a.end()); pref[0]=0; for(int i=1;i<=n;++i){ pref[i]=pref[i-1]+a[i-1].first; } for(int left=0;left<n;++left){ if(a[left].first<=u && a[left].first>=l){L=left; R=left; break;} int st=left, end=n-1; while(end-st>1){ int mid=(st+end)/2; if(pref[mid+1]-pref[left]>u) end=mid-1; else if(pref[mid+1]-pref[left]<l) st=mid; else {end=mid; break;} } if(end>=0 && pref[end+1]-pref[left]<=u && pref[end+1]-pref[left]>=l){L=left; R=end; break;} } vector<int> ans; for(int i=L;i<=R;++i) ans.push_back(a[i].second); return ans; }

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