Submission #495212

#TimeUsernameProblemLanguageResultExecution timeMemory
495212mansurGift (IZhO18_nicegift)C++14
18 / 100
2096 ms379524 KiB
#include<bits/stdc++.h> #pragma optimize ("g",on) #pragma GCC optimize("inline") #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize ("03") #pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,avx2,mmx,fma,avx,tune=native") //01001101 01100001 01101011 01101000 01100001 01100111 01100001 01111001 using namespace std; #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ll long long #define pb push_back #define sz(a) a.size() #define nl '\n' #define popb pop_back() #define ld double #define ull unsigned long long #define ff first #define ss second #define fix fixed << setprecision #define pii pair<int, int> #define E exit (0) const int inf = 1e9, N = 1e5 + 1, mod = 998244353; vector<pii> dir = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; main() { //freopen("cowrect.in", "r", stdin); //freopen("cowrect.out", "w", stdout); ios_base::sync_with_stdio(NULL); cin.tie(NULL); int n, k; cin >> n >> k; int a[n + 1]; for (int i = 1; i <= n; i++) cin >> a[i]; multiset<pii> s; for (int i = 1; i <= n; i++) { s.insert({a[i], i}); } vector<vector<pii>> ans; while (sz(s) >= k) { pii y = *--s.end(); s.erase(--s.end()); vector<pii> pos; while (sz(pos) + 1 < k) { pii x = *s.begin(); x.ff--; pos.pb(x); s.erase(s.begin()); } y.ff--; pos.pb(y); ans.pb(pos); for (auto e: pos) { if (e.ff) { s.insert(e); } } } if (sz(s)) cout << -1, E; cout << sz(ans) << nl; for (auto e: ans) { cout << 1 << ' '; for (auto x: e) cout << x.ss << ' '; cout << nl; } }

Compilation message (stderr)

nicegift.cpp:3: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    3 | #pragma optimize ("g",on)
      | 
nicegift.cpp:33:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   33 | main() {
      | ^~~~
nicegift.cpp: In function 'int main()':
nicegift.cpp:47:15: warning: comparison of integer expressions of different signedness: 'std::multiset<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |  while (sz(s) >= k) {
      |               ^
nicegift.cpp:51:22: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   51 |   while (sz(pos) + 1 < k) {
      |                      ^
#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...