Submission #528729

#TimeUsernameProblemLanguageResultExecution timeMemory
528729groshiDetecting Molecules (IOI16_molecules)C++17
100 / 100
108 ms19628 KiB
#include "molecules.h" #include<iostream> #include<vector> #include<map> #include<algorithm> using namespace std; map<long long,int> mapka; vector<int> t; vector<int> find_subset(int l,int u,vector<int> w) { long long suma=0; mapka[0]=-1; vector<pair<long long,int> > Q; for(int i=0;i<w.size();i++) Q.push_back(make_pair(w[i],i)); sort(Q.begin(),Q.end()); for(int i=0;i<w.size();i++) { suma+=(long long)Q[i].first; auto it=mapka.lower_bound(suma-(long long)u); if(it==mapka.end()) { mapka[suma]=i; continue; } long long gdzie=it->first; if(suma-gdzie>=(long long)l && suma-gdzie<=(long long)u) { for(int j=it->second+1;j<=i;j++) { t.push_back(Q[j].second); } break; } mapka[suma]=i; } return t; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:14:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     for(int i=0;i<w.size();i++)
      |                 ~^~~~~~~~~
molecules.cpp:17:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for(int i=0;i<w.size();i++)
      |                 ~^~~~~~~~~
#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...