제출 #332243

#제출 시각아이디문제언어결과실행 시간메모리
332243vitkishloh228Gift (IZhO18_nicegift)C++14
0 / 100
443 ms176520 KiB
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> a(n); for (int& i : a) cin >> i; vector<pair<int, int>> arr; for (int i = 0; i < n; ++i) { arr.push_back({ a[i],i }); } sort(arr.begin(), arr.end()); reverse(arr.begin(), arr.end()); vector<vector<int>> ans; while (!arr.empty()) { if (ans.size() > 3 * 1e6) { cout << "-1"; return 0; } ans.push_back({}); if (arr.size() < k) continue; for (int i = (int)arr.size() - k; i < (int)arr.size(); ++i) { ans.back().push_back(arr[i].second + 1); arr[i].first--; } while (arr.size() && arr.back().first == 0) arr.pop_back(); } if (ans.size() > 3 * 1e6) { cout << "-1"; return 0; } cout << ans.size() << endl; for (auto elem : ans) { for (auto u : elem) cout << u << ' '; cout << "1\n"; } }

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

nicegift.cpp: In function 'int main()':
nicegift.cpp:23:24: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |         if (arr.size() < k) continue;
      |             ~~~~~~~~~~~^~~
#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...