Submission #448385

#TimeUsernameProblemLanguageResultExecution timeMemory
448385tredsused70Detecting Molecules (IOI16_molecules)C++17
69 / 100
23 ms6784 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,avx,avx2") using namespace std; #define accelerator ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define fi first #define sc second #define pb push_back typedef long long ll; typedef unsigned long long ull; typedef long double ld; const int nmax=100011,mod=1e9+7,inf=2000010000; const ll infll=4000000000000000000; vector<int> find_subset(int l,int u,vector<int> mas_) { int used[100100]={0},m=0,pos,ans[100100]={0}; vector<int> ans_; int n=mas_.size(); array<int,2> mas[100100]; ll sum=0; for(int i=0;i<n;i++) mas[i]={mas_[i],i}; sort(mas,mas+n); for(int i=0;i<n;i++) { sum+=mas[i][0]; if(sum>u) { sum-=mas[i][0]; break; } used[mas[i][1]]=1; ans[m]=mas[i][1]; m++; if(sum>=l) { for(int i=0;i<m;i++) ans_.push_back(ans[i]); return ans_; } } for(int i=m-1;i>=0;i--) { if(used[mas[n-m+i][1]]) continue; used[mas[i][1]]=0; used[mas[n-m+i][1]]=1; sum-=mas[i][0]; sum+=mas[n-m+i][0]; ans[i]=mas[n-m+i][1]; if(sum>=l) { for(int i=0;i<m;i++) ans_.push_back(ans[i]); return ans_; } } return {}; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:20:30: warning: unused variable 'pos' [-Wunused-variable]
   20 |     int used[100100]={0},m=0,pos,ans[100100]={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...