Submission #204262

#TimeUsernameProblemLanguageResultExecution timeMemory
204262amoo_safarJOIRIS (JOI16_joiris)C++14
0 / 100
7 ms632 KiB
#include <bits/stdc++.h> #define pb push_back #define F first #define S second #define all(x) x.begin(), x.end() #define debug(x) cerr << #x << " : " << x << '\n' using namespace std; typedef long long ll; const ll Mod = 1000000007LL; const int N = 2e5 + 10; const ll Inf = 2242545357980376863LL; const ll Log = 30; int n, k, a[N]; vector< pair<int, int> > V; void PlaceV(int x){ V.pb({1, x}); a[x] += k; } void PlaceH(int x){ V.pb({2, x}); for(int i = 0; i < k; i++) a[x + i] ++; } mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for(int i = 1; i <= n; i++) cin >> a[i]; if(n == 3 && k == 2){ PlaceH(1); } for(int j = 0; j < k + 2; j++){ if(j == k + 1) return cout << "-1\n", 0; for(int i = 2; i + k - 1 <= n; i++){ while((a[i - 1] % k) != (a[i] % k)){ PlaceH(i); } } int fl = 0; for(int i = 2; i <= n; i++){ if((a[i - 1] % k) != (a[i] % k)) fl = 1; } if(!fl) break; PlaceH(1); } int mx = *max_element(a + 1, a + n + 1); shuffle(all(V), rng); for(int i = 1; i <= n; i++){ while(a[i] < mx) PlaceV(i); assert(a[i] == mx); } int s = V.size(); while(V.size() + n <= 10000){ for(int j = 1; j <= n; j++) PlaceV(j); } cout << V.size() << '\n'; for(auto x : V) cout << x.F << " " << x.S << '\n'; return 0; }

Compilation message (stderr)

joiris.cpp: In function 'int main()':
joiris.cpp:57:6: warning: unused variable 's' [-Wunused-variable]
  int s = V.size();
      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...