Submission #102017

#TimeUsernameProblemLanguageResultExecution timeMemory
102017tincamateiJOIRIS (JOI16_joiris)C++14
30 / 100
3 ms476 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 50; const int MOVE_LIMIT = 10000; int a[1+MAX_N+1], dif[1+MAX_N+1]; int top; int t[MOVE_LIMIT], x[MOVE_LIMIT]; // Horizontal Long bar at i void solveDif(int n, int k, int i) { int level = 0; for(int j = 0; j < k; ++j) if(a[i + j] > level) level = a[i + j]; t[top] = 2; x[top++] = i; for(int j = 1; j <= n; ++j) while((j < i || j >= i + k) && a[j] <= level) { a[j] += k; t[top] = 1; x[top++] = j; } for(int j = 1; j <= n; ++j) if(j < i || j >= i + k) a[j]--; } int main() { #ifdef HOME FILE *fin = fopen("input.in", "r"); FILE *fout = fopen("output.out", "w"); #else FILE *fin = stdin; FILE *fout = stdout; #endif int n, k; scanf("%d%d", &n, &k); for(int i = 1; i <= n; ++i) scanf("%d", &a[i]); while(k < n && a[k] % k != a[k + 1] % k) solveDif(n, k, 1); for(int i = 1; i <= n - k; ++i) { while(a[i] % k != a[i + 1] % k) solveDif(n, k, i + 1); } int maxlvl = 0; for(int i = 1; i <= n; ++i) if(a[i] > maxlvl) maxlvl = a[i]; for(int i = 1; i <= n; ++i) while(a[i] < maxlvl) { t[top] = 1; x[top++] = i; a[i] += k; } int i = 1; while(i < n && a[i] == a[i + 1]) i++; if(i == n) { printf("%d\n", top); for(int j = 0; j < top; ++j) printf("%d %d\n", t[j], x[j]); } else printf("-1"); fclose(fin); fclose(fout); return 0; }

Compilation message (stderr)

joiris.cpp: In function 'int main()':
joiris.cpp:45:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &k);
  ~~~~~^~~~~~~~~~~~~~~~
joiris.cpp:47:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &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...