Submission #76850

#TimeUsernameProblemLanguageResultExecution timeMemory
76850zetapiGift (IZhO18_nicegift)C++14
30 / 100
2049 ms104296 KiB
#include "bits/stdc++.h" using namespace std; #define pb push_back #define mp make_pair #define int long long #define itr iterator typedef pair<int,int> pii; const int MAX=5e6; set<pii> st; set<pii>::itr it_1,it_2; vector<int> res; int N,K,sum,arr[MAX]; void print_1() { assert(!(st.size()%K)); while(!st.empty()) { res.pb(st.begin()->second); st.erase(st.begin()); } cout<<res.size()/K<<"\n"; for(int A=0;A<res.size();A+=K) { cout<<1<<" "; for(int B=A;B<A+K;B++) cout<<res[B]<<" "; cout<<"\n"; } return ; } signed main() { ios_base::sync_with_stdio(false); cin>>N>>K; for(int A=1;A<=N;A++) { cin>>arr[A]; sum+=arr[A]; if(arr[A]) st.insert(mp(-arr[A],A)); } if(sum%K) return cout<<-1,0; vector<pii> lol(K); while(true) { if(st.size()<K) return cout<<-1,0; if(st.begin()->first==-1) { print_1(); break; } for(int A=0;A<K;A++) { lol[A]=*st.begin(); st.erase(st.begin()); } for(int A=0;A<K;A++) { lol[A].first++; if(lol[A].first!=0) st.insert(lol[A]); res.pb(lol[A].second); } /*for(auto A:st) cout<<-A.first<<" "; cout<<"\n";*/ } return 0; }

Compilation message (stderr)

nicegift.cpp: In function 'void print_1()':
nicegift.cpp:30:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int A=0;A<res.size();A+=K)
              ~^~~~~~~~~~~
nicegift.cpp: In function 'int main()':
nicegift.cpp:57:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(st.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...