Submission #291478

#TimeUsernameProblemLanguageResultExecution timeMemory
291478PyqeGift (IZhO18_nicegift)C++14
100 / 100
965 ms155896 KiB
#include <bits/stdc++.h> using namespace std; #define mp make_pair #define fr first #define sc second long long n,d,ttl=0,nn=0,a[2000069],cra[2069],wg[2000069],zs=0,inf=1e18; pair<long long,pair<long long,long long>> as[4000069]; vector<long long> sq[2000069]; int main() { long long i,j,k,l,w,y=1,x=0,mx=-inf; scanf("%lld%lld",&n,&d); for(i=1;i<=n;i++) { scanf("%lld",a+i); ttl+=a[i]; mx=max(mx,a[i]); } if(ttl%d||mx>ttl/d) { printf("-1\n"); return 0; } for(i=1;i<=n;i++) { nn++; as[nn]={x,{y,i}}; x+=a[i]; if(x>=ttl/d) { y++; x-=ttl/d; if(x) { nn++; as[nn]={0,{y,i}}; } } } sort(as+1,as+nn+1); as[nn+1].fr=ttl/d; for(i=1;i<=nn;i++) { k=as[i].fr; l=as[i].sc.fr; w=as[i].sc.sc; cra[l]=w; if(k!=as[i+1].fr) { zs++; wg[zs]=as[i+1].fr-k; for(j=1;j<=d;j++) { sq[zs].push_back(cra[j]); } } } printf("%lld\n",zs); for(i=1;i<=zs;i++) { printf("%lld ",wg[i]); for(j=0;j<d;j++) { printf("%lld%c",sq[i][j]," \n"[j==d-1]); } } }

Compilation message (stderr)

nicegift.cpp: In function 'int main()':
nicegift.cpp:17:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   17 |  scanf("%lld%lld",&n,&d);
      |  ~~~~~^~~~~~~~~~~~~~~~~~
nicegift.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   20 |   scanf("%lld",a+i);
      |   ~~~~~^~~~~~~~~~~~
#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...