Submission #137458

#TimeUsernameProblemLanguageResultExecution timeMemory
137458vardan__02Gift (IZhO18_nicegift)C++14
19 / 100
1696 ms25600 KiB
#include <iostream> #include <fstream> #include <algorithm> #include <cstring> #include <string> #include <vector> #include <cstdio> #include <queue> #include <deque> #include <stack> #include <cmath> #include <list> #include <set> #include <map> using namespace std; typedef long long ll; #define MP make_pair #define PB push_back ll n,k,a[1000005],m,i,j,p,q,t,u,v; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>k; for(i=1;i<=n;i++) { cin>>a[i]; if(a[i]!=a[1]) t=1; } if(t==0) { if(n%k!=0) { if(a[1]%k!=0) { if(n*a[1]%k!=0) cout<<-1<<endl; else { p=k+n%k; if(a[n]>k) m=n/k-1+p+p/2; else m=n/k-1+p/2; cout<<m<<endl; v=a[n]/k; if(a[n]>k) { for(i=1;i<=p;i++) { cout<<v<<" "; q=k; u=a[p]; j=1; while(a[j]!=u) j++; while(j<=p && q!=0) { a[j]-=v; cout<<j<<" "; j++; q--; } if(q!=0) { u=a[p]; j=1; while(a[j]!=u) j++; while(q!=0 && j<=p) { a[j]-=v; cout<<j<<" "; j++; q--; } } cout<<endl; } } for(i=1;i<=p/2;i++) { cout<<1<<" "; q=k; u=a[p]; j=1; while(a[j]!=u) j++; while(j<=p && q!=0) { a[j]--; cout<<j<<" "; j++; q--; } if(q!=0) { u=a[p]; j=1; while(a[j]!=u) j++; while(q!=0 && j<=p) { a[j]--; cout<<j<<" "; j++; q--; } } cout<<endl; } for(i=p+1;i<=n;i++) { if((i-p)%k==1) cout<<a[n]<<" "; cout<<i<<" "; if((i-p)%k==0) cout<<endl; } } } else { p=k+n%k; m=n/k-1+p; cout<<m<<endl; v=a[n]/k; for(i=1;i<=p;i++) { cout<<v<<" "; q=k; u=a[p]; j=1; while(a[j]!=u) j++; while(j<=p && q!=0) { a[j]-=v; cout<<j<<" "; j++; q--; } if(q!=0) { u=a[p]; j=1; while(a[j]!=u) j++; while(q!=0 && j<=p) { a[j]-=v; cout<<j<<" "; j++; q--; } } cout<<endl; } for(i=p+1;i<=n;i++) { if((i-p)%k==1) cout<<a[n]<<" "; cout<<i<<" "; if((i-p)%k==0) cout<<endl; } } } else { cout<<n/k<<endl; cout<<a[1]<<" "; for(i=1;i<=n;i++) { cout<<i<<" "; if(i%k==0) { cout<<endl; if(i!=n) cout<<a[1]<<" "; } } } } else { } return 0; }
#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...