Submission #378670

#TimeUsernameProblemLanguageResultExecution timeMemory
378670daniel920712Gift (IZhO18_nicegift)C++14
18 / 100
2098 ms279536 KiB
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <stack> #include <map> #include <vector> using namespace std; map < long long , stack < long long > > all; vector < pair < long long , long long > > que; long long ttt[1000005]; long long F(long long a,long long b) { if(b==0) return a; return F(b,a%b); } int main() { //freopen("aa.txt","w+t",stdout); long long N,K,i,j,ans=0,x,y,a,b,t,xx,tt,now,con; scanf("%lld %lld",&N,&K); for(i=1;i<=N;i++) { scanf("%lld",&t); all[t].push(i); ans+=t; ttt[i]=t; xx=t; } if(ans%K) printf("-1\n"); else if(K==2) { while(!all.empty()) { x=all.begin()->second.top(); a=all.begin()->first; all[a].pop(); if(prev(all.end())->second.empty()) { printf("-1\n"); return 0; } y=prev(all.end())->second.top(); b=prev(all.end())->first; all[b].pop(); //printf("1 %lld %lld\n",x,y); que.push_back(make_pair(x,y)); if(all[a].empty()) all.erase(a); if(a!=b&&all[b].empty()) all.erase(b); if(a!=1) all[a-1].push(x); if(b!=1) all[b-1].push(y); } printf("%lld\n",ans/K); for(auto i:que) printf("1 %lld %lld\n",i.first,i.second); } else { tt=K*N/F(K,N); //printf("%lld\n",tt); ans=(xx*N)/(tt); //printf("%lld\n",ans); con=xx*N/(ans*K); if(con*K>3000000) printf("-1\n"); else { printf("%lld\n",con); now=0; for(i=0;i<con;i++) { printf("%lld ",ans); for(j=0;j<K;j++) { printf("%lld ",now+1); now=(now+1)%N; } printf("\n"); } } } return 0; }

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   21 |     scanf("%lld %lld",&N,&K);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
nicegift.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   24 |         scanf("%lld",&t);
      |         ~~~~~^~~~~~~~~~~
nicegift.cpp:20:39: warning: 'xx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   20 |     long long N,K,i,j,ans=0,x,y,a,b,t,xx,tt,now,con;
      |                                       ^~
#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...