제출 #354994

#제출 시각아이디문제언어결과실행 시간메모리
354994valerikkTable Tennis (info1cup20_tabletennis)C++11
49 / 100
40 ms5524 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long mt19937 gen(chrono::high_resolution_clock::now().time_since_epoch().count()); int n, k, a[150407]; void go(int sum) { vector<int> used(n + k, 0); int id = n + k - 1; vector<int> l, r; for (int i = 0; i < n + k; ++i) { if (used[i]) continue; if (l.size() + r.size() == n) break; while (id != i && (used[id] || a[id] + a[i] > sum)) --id; if (id != i && a[id] + a[i] == sum) { used[id] = used[i] = 1; l.push_back(a[i]); r.push_back(a[id]); } } if (l.size() + r.size() == n) { reverse(r.begin(), r.end()); for (auto x : l) cout << x << " "; for (auto x : r) cout << x << " "; exit(0); } } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> k; for (int i = 0; i < n + k; ++i) cin >> a[i]; sort(a, a + n + k); set<int> st; for (;;) { int id = gen() % (n + k); int rev = n + k - id - 1; vector<int> p; for (int i = max(0, rev - k); i <= min(n + k - 1, rev + k); ++i) p.push_back(i); shuffle(p.begin(), p.end(), gen); for (auto q : p) { if (!st.count(a[id] + a[q])) go(a[id] + a[q]); } } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

tabletennis.cpp: In function 'void go(int)':
tabletennis.cpp:16:26: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   16 |  if (l.size() + r.size() == n) break;
      |      ~~~~~~~~~~~~~~~~~~~~^~~~
tabletennis.cpp:24:29: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   24 |     if (l.size() + r.size() == n) {
      |         ~~~~~~~~~~~~~~~~~~~~^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...