Submission #1158830

#TimeUsernameProblemLanguageResultExecution timeMemory
1158830why1Detecting Molecules (IOI16_molecules)C++20
0 / 100
1 ms324 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define sz size() vector<int> find_subset(int l, int r, vector<int> w) { int n=w.sz; ll a[n+1]; for(int i = 1; i <= n; i++){ a[i]=w[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]; } vector<int> ans; for(int i = 1; i <= n; i++){ int L=i,R=n+1; while(L+1<R){ int mid=(L+R)/2; if(a[mid]<=a[i]+r-l) L=mid; else R=mid; } int j=L; L=i,R=j+1; while(L+1<R){ int mid=(L+R)/2; if(pref[mid]<=r+pref[i-1]) L=mid; else R=mid; } j=L; if(l<=pref[j]-pref[i-1]){ assert(j<=n); for(int k = i; k <= j; k++){ ans.pb(a[k]); } break; } } 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...