Submission #1158857

#TimeUsernameProblemLanguageResultExecution timeMemory
1158857why1Detecting Molecules (IOI16_molecules)C++20
100 / 100
43 ms6728 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define sz size() #define pll pair<ll,ll> #define fi first #define se second vector<int> find_subset(int l, int r, vector<int> w) { int n=w.sz; pll a[n+1]; for(int i = 1; i <= n; i++){ a[i]={w[i-1],i-1}; } sort(a+1,a+n+1); ll pref[n+1]; memset(pref,0,sizeof(pref)); for(int i = 1; i <= n; i++){ pref[i]=pref[i-1]+a[i].fi; } vector<int> ans; for(int i = 1; i <= n; i++){ if(a[i].fi>r) continue; ll L=i,R=n+1; while(L+1<R){ int mid=(L+R)/2; if(pref[mid]<=r+pref[i-1]) L=mid; else R=mid; } ll j=L; if(l<=pref[j]-pref[i-1]){ for(int k = i; k <= j; k++){ ans.pb(a[k].se); } return ans; } } return ans; }

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...