Submission #1174468

#TimeUsernameProblemLanguageResultExecution timeMemory
1174468PacybwoahDEL13 (info1cup18_del13)C++20
6 / 100
2 ms580 KiB
#include<iostream> #include<vector> #include<algorithm> #include<utility> #include<cmath> using namespace std; typedef long long ll; const ll inf = 1e18; int main(){ ios::sync_with_stdio(false); cin.tie(0); int t; cin >> t; while(t--){ int n, k; cin >> n >> k; vector<pair<int, pair<int, int>>> rngs; vector<int> vec(n + 1); for(int i = 0; i < k; i++){ int tmp; cin >> tmp; vec[tmp] = 1; } int lst = 1; for(int i = 2; i <= n; i++){ if(vec[i - 1] != vec[i]){ rngs.emplace_back(vec[i - 1], make_pair(lst, i - 1)); lst = i; } } rngs.emplace_back(vec[n], make_pair(lst, n)); if(rngs.back().first == 1) rngs.pop_back(); if(!rngs.empty() && rngs[0].first == 1){ rngs.erase(rngs.begin()); } int sum = 0; int cnt = 0; bool flag = 0; for(auto &[val, info]: rngs){ auto &[l, r] = info; if(val == 1){ if(l < r){ if(sum % 2 == 1 || cnt == 1){ flag = 1; break; } sum = 0; cnt = 0; } } else sum += r - l + 1, cnt++; } if(sum % 2 == 1 || cnt == 1){ flag = 1; } if(flag){ cout << "-1\n"; continue; } cout << (n - k) / 2 << "\n"; for(int i = 0; i < (n - k) / 2; i++) cout << "1 "; cout << "\n"; } } // g++ -std=c++17 -Wall -Wextra -Wshadow -fsanitize=undefined -fsanitize=address -o run pB.cpp -g
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...