제출 #1322688

#제출 시각아이디문제언어결과실행 시간메모리
1322688ppmn_6Detecting Molecules (IOI16_molecules)C++20
100 / 100
45 ms2716 KiB
#include "bits/stdc++.h" #include "molecules.h" using namespace std; using ll = long long; using ld = long double; using ull = unsigned long long; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); // https://codeforces.com/blog/entry/79148 class Timer: chrono::high_resolution_clock { const time_point start_time; public: Timer(): start_time(now()) {} rep elapsed_time() const { return chrono::duration_cast<chrono::milliseconds>(now() - start_time).count(); } } timer; vector<int> find_subset(int l_, int r_, vector<int> w) { vector<int> ord(w.size()); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&] (int x, int y) { return w[x] < w[y]; }); sort(w.begin(), w.end()); int lb = w.size() - 1, rb = lb; ll sum = w.back(), l = l_, r = r_; vector<int> ans; while (true) { if (sum >= l && sum <= r) { for (int i = lb; i <= rb; i++) { ans.push_back(ord[i]); } return ans; } if (sum > r) { sum -= ll(w[rb]); rb--; } if (sum < l) { if (!lb) { return ans; } lb--; sum += ll(w[lb]); } } }

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