Submission #292306

#TimeUsernameProblemLanguageResultExecution timeMemory
292306TadijaSebezJOIRIS (JOI16_joiris)C++11
100 / 100
1 ms384 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int,int> #define pb push_back vector<pii> ans; const int N=50; int need[N],n,k,a[N],rem[N]; int main(){ scanf("%i %i",&n,&k); for(int i=0;i<n;i++)scanf("%i",&a[i]),rem[i%k]=(rem[i%k]+a[i])%k; for(int i=0;i<n%k;i++)if(rem[i]!=rem[0])return 0*printf("-1\n"); for(int i=n%k;i<k;i++)if(rem[i]!=rem[k-1])return 0*printf("-1\n"); for(int i=1;i<n;i++)while(a[i]<a[i-1])a[i]+=k,ans.pb({1,i}); for(int i=1;i<n;i++){ for(int j=a[i-1]+1;j<=a[i];j++){ for(int z=i-k;z>=0;z-=k)ans.pb({2,z}); if((i-1)%k!=k-1)for(int z=0;z<=(i-1)%k;z++)need[z]++; } } for(int i=0;i<k-1;i++)while(need[i]>0)need[i]-=k,ans.pb({1,i}); for(int j=0;j>need[0];j--)for(int i=n-k;i>=0;i-=k)ans.pb({2,i}); printf("%i\n",ans.size()); for(pii p:ans)printf("%i %i\n",p.first,p.second+1); return 0; }

Compilation message (stderr)

joiris.cpp: In function 'int main()':
joiris.cpp:22:11: warning: format '%i' expects argument of type 'int', but argument 2 has type 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wformat=]
   22 |  printf("%i\n",ans.size());
      |          ~^    ~~~~~~~~~~
      |           |            |
      |           int          std::vector<std::pair<int, int> >::size_type {aka long unsigned int}
      |          %li
joiris.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    9 |  scanf("%i %i",&n,&k);
      |  ~~~~~^~~~~~~~~~~~~~~
joiris.cpp:10:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   10 |  for(int i=0;i<n;i++)scanf("%i",&a[i]),rem[i%k]=(rem[i%k]+a[i])%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...