Submission #491971

#TimeUsernameProblemLanguageResultExecution timeMemory
491971StoRovinatoDetecting Molecules (IOI16_molecules)C++17
100 / 100
66 ms4444 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; typedef long long ll; vector<int> find_subset(int l, int u, vector<int> w) { vector<int> ordine(w.size()); iota(ordine.begin(), ordine.end(), 0); sort(ordine.begin(), ordine.end(), [&](int a, int b){return w[a] < w[b];}); sort(w.begin(), w.end()); vector<ll> pref(w.size() + 1); pref[0] = 0; for (int i = 1; i <= w.size(); i++) pref[i] = pref[i - 1] + w[i - 1]; vector<int> ris; for (int i = 1; i <= w.size(); i++) { int finale = lower_bound(pref.begin(), pref.end(), l + pref[i - 1]) - pref.begin(); //cout << i << " - " << finale << "\n"; if (finale <= w.size() && finale >= i && pref[finale] - pref[i - 1] <= u) { for (int j = i - 1; j < finale; j++) ris.push_back(ordine[j]); break; } } return ris; }

Compilation message (stderr)

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