Submission #1141583

#TimeUsernameProblemLanguageResultExecution timeMemory
1141583tkm_algorithmsDEL13 (info1cup18_del13)C++20
0 / 100
65 ms836 KiB
/** * In the name of Allah * We are nothing and you're everything * author: najmuddin **/ #include <bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC target("avx2") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("fast-math") #pragma GCC optimize("trapv") #pragma GCC optimize("inline") using namespace std; #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; #define int ll const char nl = '\n'; const int N = 1e8+5; //const int inf = 1e18; const int mod = 1e9+7; void solve() { int n, m; cin >> n >> m; map<int, int> mp, mp2; vector<int> b; for (int i = 0; i < m; ++i) { int x; cin >> x; b.push_back(x); mp[x] = 1; } vector<int> a; for (int i = 1; i <= n; ++i) { if (mp[i] != 1)mp2[i] = 1; } vector<int> ans; for (int i = 1; i <= n; ++i) { if (mp2[i] == 1 && mp2[i+2] == 1 && (mp2[i+1] == 1 || mp[i+1] == 1)) { mp2[i] = mp2[i+2] = 0; ans.push_back(i+1); } if (mp2[i] == 1)a.push_back(i); } int i = 0; while (i < sz(a)-1) { int l = lower_bound(all(b), a[i])-b.begin(); int hi = lower_bound(all(b), a[i+1])-b.begin(); --hi; if (hi - l+1 == 1) { ans.push_back(b[l]); i += 2; } else { cout << -1 << nl; return; } } cout << sz(ans) << nl; for (auto j: ans)cout << j << ' '; cout << nl; } int32_t main() { ios::sync_with_stdio(0); cin.tie(0); int t = 1; cin >> t; while (t--) { solve(); } return 0; }
#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...