제출 #1220060

#제출 시각아이디문제언어결과실행 시간메모리
122006012345678JOIRIS (JOI16_joiris)C++20
15 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; const int nx=51; int n, k, a[nx], mx, h[nx], sm; vector<pair<int, int>> res; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>k; for (int i=1; i<=n; i++) cin>>a[i], mx=max(mx, a[i]), sm+=a[i]; for (int i=1; i<=n; i++) while (a[i]<mx) res.push_back({1, i}), a[i]+=2; for (int i=1; i<=n; i++) h[i]=a[i]>mx; for (int i=1; i<n; i++) if (!h[i]&&!h[i+1]) h[i]++, h[i+1]++, res.push_back({2, i}); for (int i=1; i<=n; i+=2) { if (!h[i]) { res.push_back({1, i}); for (int j=1; j<i; j+=2) res.push_back({2, j}); for (int j=i+1; j<=n; j+=2) res.push_back({2, j}); h[i]=1; } } for (int i=1; i<=n; i++) { if (h[i]) h[i]=0; else h[i]=1, res.push_back({1, i}); } for (int i=1; i<n; i++) if (!h[i]&&!h[i+1]) h[i]++, h[i+1]++, res.push_back({2, i}); for (int i=1; i<=n; i+=2) { if (!h[i]) { res.push_back({1, i}); for (int j=1; j<i; j+=2) res.push_back({2, j}); for (int j=i+1; j<=n; j+=2) res.push_back({2, j}); h[i]=1; } } cout<<res.size()<<'\n'; for (auto [x, y]:res) cout<<x<<' '<<y<<'\n'; } /* 6 1 0 0 0 2 2 0 8 2 0 1 0 1 0 1 0 1 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...