Submission #388556

#TimeUsernameProblemLanguageResultExecution timeMemory
388556alishahali1382Detecting Molecules (IOI16_molecules)C++14
100 / 100
57 ms6076 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, int> pli; #define pb push_back #define all(x) x.begin(), x.end() int n, m, k; vector<int> out; vector<pli> vec; vector<int> find_subset(int l, int u, vector<int> W){ for (int i=0; i<W.size(); i++) vec.pb({W[i], i}); sort(all(vec)); while (vec.size() && vec.back().first>u) vec.pop_back(); n=vec.size(); ll sum=0; while (k<n && sum+vec[k].first<l) sum+=vec[k++].first; if (k==n) return out; // jame kol < l if (sum+vec[k].first<=u){ for (int i=0; i<=k; i++) out.pb(vec[i].second); return out; } for (int i=k; i<n; i++){ sum+=vec[i].first-vec[i-k].first; if (sum>=l){ for (int j=i-k+1; j<=i; j++) out.pb(vec[j].second); return out; } } // har k_ta<l // har k+1_ta>u return out; }

Compilation message (stderr)

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