Submission #1173967

#TimeUsernameProblemLanguageResultExecution timeMemory
1173967HappyCapybaraDetecting Molecules (IOI16_molecules)C++17
69 / 100
39 ms9032 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; #define ll long long vector<int> W; vector<int> mstv(multiset<int> ms){ vector<int> 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<int> find_subset(int l, int u, vector<int> w){ W = w; int n = w.size(); sort(w.begin(), w.end()); ll cur = 0; multiset<int> res; for (int i=0; i<n; i++){ res.insert(w[i]); cur += w[i]; if (cur > u){ cur -= *res.begin(); res.erase(res.begin()); 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 (cur >= l) 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...