제출 #1146716

#제출 시각아이디문제언어결과실행 시간메모리
1146716KickingKunDetecting Molecules (IOI16_molecules)C++20
100 / 100
33 ms4424 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long vector <int> find_subset(int l, int u, vector <int> w) { vector <int> ind(w.size()); iota(ind.begin(), ind.end(), 0); sort (ind.begin(), ind.end(), [&] (int u, int v) { return w[u] < w[v]; }); vector <ll> pref(w.size()); pref[0] = w[ind[0]]; for (int i = 1; i < w.size(); i++) pref[i] = pref[i - 1] + w[ind[i]]; auto sum = [&] (int l, int r) { if (l == 0) return pref[r]; return pref[r] - pref[l - 1]; }; for (int k = 1; k <= w.size(); k++) { ll miSum = pref[k - 1], maSum = sum(w.size() - k, w.size() - 1); if (miSum <= u && maSum >= l) { for (int i = k - 1; i < w.size(); i++) { ll S = sum(i - k + 1, i); // change at most max - min <= u - l if (l <= S && S <= u) { vector <int> res; for (int j = i - k + 1; j <= i; j++) res.emplace_back(ind[j]); return res; } } } } return {}; }

컴파일 시 표준 에러 (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...