Submission #1197767

#TimeUsernameProblemLanguageResultExecution timeMemory
1197767vivkostovDetecting Molecules (IOI16_molecules)C++20
100 / 100
40 ms4936 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; long long int n,l,r,otg[200005]; vector<int>v; struct cell { int st,ind; }; bool cmp(cell a1,cell a2) { return a1.st<a2.st; } cell a[200005]; std::vector<int> find_subset(int L, int R, std::vector<int> W) { n=W.size(); l=L; r=R; for(int i=1;i<=n;i++) { a[i].st=W[i-1]; a[i].ind=i; } sort(a+1,a+n+1,cmp); long long int sum=0; for(int i=n;i>=1;i--) { sum+=a[i].st; otg[i]=1; if(sum>=l)break; } if(sum<l)return v; int to=1,i=n; while(sum>r) { if(!otg[i]||otg[to]||i<=to)break; sum+=a[to].st; sum-=a[i].st; otg[i]=0; otg[to]=1; i--; to++; } if(sum>r) { v.clear(); return v; } for(int i=1;i<=n;i++) { if(otg[i]) { v.push_back(a[i].ind-1); } } return v; }

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