Submission #292981

#TimeUsernameProblemLanguageResultExecution timeMemory
292981PajarajaGift (IZhO18_nicegift)C++17
30 / 100
2076 ms16168 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n,k,t,cnt=0,sum=0,mx=-1; scanf("%d%d",&n,&k); priority_queue<pair<int,int> > pq,pq1; for(int i=0;i<n;i++) {scanf("%d",&t); mx=max(mx,t); sum+=t; pq.push(make_pair(t,i+1)); pq1.push(make_pair(t,i+1));} while(pq.size()>=k) { stack<pair<int,int> > st; for(int i=0;i<k;i++) {st.push(pq.top()); pq.pop();} for(int i=0;i<k;i++) {st.top().first--; if(st.top().first!=0) pq.push(st.top()); st.pop();} cnt++; } if((sum-mx)<(k-1)*mx) {printf("-1"); return 0;} printf("%d\n",cnt); while(pq1.size()>=k) { printf("1 "); stack<pair<int,int> > st; for(int i=0;i<k;i++) {st.push(pq1.top()); pq1.pop();} for(int i=0;i<k;i++) {st.top().first--; if(st.top().first!=0) pq1.push(st.top()); printf("%d ",st.top().second); st.pop();} printf("\n"); } }

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:9:17: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |  while(pq.size()>=k)
      |        ~~~~~~~~~^~~
nicegift.cpp:18:18: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |  while(pq1.size()>=k)
      |        ~~~~~~~~~~^~~
nicegift.cpp:6:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    6 |  scanf("%d%d",&n,&k);
      |  ~~~~~^~~~~~~~~~~~~~
nicegift.cpp:8:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    8 |  for(int i=0;i<n;i++) {scanf("%d",&t); mx=max(mx,t); sum+=t; pq.push(make_pair(t,i+1)); pq1.push(make_pair(t,i+1));}
      |                        ~~~~~^~~~~~~~~
#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...