Submission #172866

#TimeUsernameProblemLanguageResultExecution timeMemory
172866muhammad_hokimiyonGift (IZhO18_nicegift)C++14
30 / 100
71 ms10552 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #define fi first #define se second #define ll long long using namespace std; const int N = 1e5 + 7; const int M = 23; const int mod = 998244353; int n,k; int a[N]; set < pair < int , int > > s; void solve1() { cin >> n >> k; for( int i = 1; i <= n; i++ ){ cin >> a[i]; s.insert({a[i] , i}); } int ans = 0; while( !s.empty() ){ if( (int)s.size() < k ){ cout << -1; return; } int sz = 1; vector < pair < int , int > > v; while( sz <= k ){ auto x = *--s.end(); s.erase(--s.end()); x.fi--; v.push_back(x); sz++; } ans++; for( auto x : v ){ if( x.fi > 0 )s.insert(x); } } for( int i = 1; i <= n; i++ ){ s.insert({a[i] , i}); } cout << ans << "\n"; while( !s.empty() ){ int sz = 1; vector < pair < int , int > > v; cout << 1 << " "; while( sz <= k ){ auto x = *--s.end(); s.erase(--s.end()); x.fi--; cout << x.se << " "; v.push_back(x); sz++; } cout << "\n"; for( auto x : v ){ if( x.fi > 0 )s.insert(x); } } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); //freopen( "input.txt" , "r" , stdin ); //freopen( "output.txt" , "w" , stdout ); int cghf = 1;//cin >> cghf; while( cghf-- ){ solve1(); } }
#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...