Submission #1198882

#TimeUsernameProblemLanguageResultExecution timeMemory
1198882HappyCapybaraDetecting Molecules (IOI16_molecules)C++17
100 / 100
56 ms12100 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; #define int long long vector<signed> W; vector<signed> mstv(multiset<int> ms){ vector<signed> v; for (int i=0; i<W.size(); i++){ if (ms.find(W[i]) != ms.end()){ ms.erase(ms.find(W[i])); v.push_back(i); } } return v; } vector<signed> find_subset(signed l, signed u, vector<signed> w){ int n = w.size(); W = w; sort(w.begin(), w.end()); int cur = 0; multiset<int> res; for (int i=0; i<n; i++){ res.insert(w[i]); cur += w[i]; if (cur > u){ cur -= w[i]; res.erase(res.find(w[i])); int j = i; if (res.empty()) return {}; while (cur < l && j < n){ cur -= *res.begin(); res.erase(res.begin()); cur += w[j]; res.insert(w[j]); j++; } if (l <= cur && cur <= u) return mstv(res); else return {}; } else if (l <= cur && cur <= u) return mstv(res); } return {}; }

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