Submission #726670

#TimeUsernameProblemLanguageResultExecution timeMemory
726670fdnfksdGift (IZhO18_nicegift)C++14
30 / 100
140 ms21828 KiB
#include<bits/stdc++.h> #define TASKNAME "codeforce" #define pb push_back #define pli pair<int,int> #define fi first #define se second #define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); using namespace std; using ll=long long; const ll maxN=2e6+10; const ll inf=1e18; const ll mod=1e9+7; ll n,k,a[maxN]; void solve() { cin >> n >> k; ll sum=0; for(int i=1;i<=n;i++) { cin >> a[i]; sum+=a[i]; } if(sum<=1e5) { priority_queue<pli> pq; for(int i=1;i<=n;i++) pq.push({a[i],i}); vector<pli> vc; vc.resize(k); vector<vector<ll>> ans; while(pq.size()>=k) { vector<ll> vd; vd.pb(1); for(int i=0;i<k;i++) { vc[i]=pq.top(); pq.pop(); vc[i].fi--; vd.pb(vc[i].se); } sum-=k; ans.pb(vd); for(int i=0;i<k;i++) { if(vc[i].fi>0) pq.push(vc[i]); } } if(sum==0) { cout << ans.size()<<'\n'; for(auto vec:ans) { for(auto zz:vec) cout << zz<<' '; cout << '\n'; } } else cout << -1; } } int main() { fastio //freopen(TASKNAME".INP","r",stdin); //freopen(TASKNAME".OUT","w",stdout); solve(); }

Compilation message (stderr)

nicegift.cpp: In function 'void solve()':
nicegift.cpp:30:24: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   30 |         while(pq.size()>=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...