# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
688591 | 2023-01-27T19:30:30 Z | alexdd | DEL13 (info1cup18_del13) | C++17 | 10 ms | 1748 KB |
#include<bits/stdc++.h> using namespace std; #define int long long int n,q; int v[100005]; int gap[100005]; vector<int> sol; vector<int> sol2; signed main() { ios_base::sync_with_stdio(0);cin.tie(0); int t; cin>>t; while(t--) { sol.clear(); sol2.clear(); cin>>n>>q; for(int i=1;i<=q;i++) { cin>>v[i]; gap[i-1]=v[i]-v[i-1]-1; } gap[q] = n - v[q]; q++; v[q] = n+1; bool impossible=0; for(int i=1;i<q;i++) { if(gap[i-1]<0) { impossible=1; break; } if(gap[i-1]==0) continue; while(gap[i-1]%2==1 || gap[i-1]==(v[i]-v[i-1]-1) || ((i==q-1 || gap[i+1]==0) && gap[i]>0 && (gap[i]%2==1 || gap[i]==v[i+1]-v[i]-1))) { gap[i-1]--; gap[i]--; if(gap[i-1]<0 || gap[i]<0) { impossible=1; break; } sol.push_back(v[i]); } if(gap[i]<0 || gap[i-1]<0) { impossible=1; break; } } if(!impossible) { for(int i=0;i<q;i++) { if(gap[i]==0) continue; if(gap[i]%2==1 || gap[i]==v[i+1]-v[i]-1) { impossible=1; break; } int mij=(v[i+1]+v[i])/2; while(gap[i]>0) { sol2.push_back(mij); gap[i]-=2; } } } if(impossible) { cout<<-1<<"\n"; continue; } cout<<sol.size() + sol2.size()<<"\n"; for(int i=0;i<sol2.size();i++) cout<<sol2[i]<<" "; for(int i=0;i<sol.size();i++) cout<<sol[i]<<" "; cout<<"\n"; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Incorrect | 3 ms | 340 KB | Output isn't correct |
4 | Incorrect | 3 ms | 340 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 468 KB | Output is correct |
2 | Correct | 2 ms | 984 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Incorrect | 3 ms | 340 KB | Output isn't correct |
4 | Incorrect | 3 ms | 340 KB | Output isn't correct |
5 | Incorrect | 1 ms | 292 KB | Output isn't correct |
6 | Incorrect | 1 ms | 212 KB | Output isn't correct |
7 | Incorrect | 1 ms | 212 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Incorrect | 3 ms | 340 KB | Output isn't correct |
4 | Incorrect | 3 ms | 340 KB | Output isn't correct |
5 | Incorrect | 1 ms | 292 KB | Output isn't correct |
6 | Incorrect | 1 ms | 212 KB | Output isn't correct |
7 | Incorrect | 1 ms | 212 KB | Output isn't correct |
8 | Incorrect | 4 ms | 984 KB | Output isn't correct |
9 | Incorrect | 5 ms | 1112 KB | Output isn't correct |
10 | Incorrect | 4 ms | 1052 KB | Output isn't correct |
11 | Incorrect | 10 ms | 1748 KB | Output isn't correct |