Submission #1287738

#TimeUsernameProblemLanguageResultExecution timeMemory
1287738muhammad-ahmadLine Town (CCO23_day1problem3)C++20
0 / 25
1 ms716 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define endl '\n'

void solve(){
	int n; cin >> n;
	vector<int> a(n);
	for (auto &i : a) cin >> i;
	deque<int> idx;
	for (int i = 0; i < n; i++){
		if (a[i] == -1) idx.push_back(i);
	}
	
	n = idx.size();
		
	int ans = 0;
	
	while (idx.size() > 1 && (idx.back() != idx.size() - 1)){
		n = idx.size();
		if (idx[n - 1] - idx[n - 2] == 1){
			ans++;
			idx.pop_back();
			idx.pop_back();
		}
		else break;
	}


	n = idx.size();
	bool b = 1;

	for (int i = 0; i < n; i++){
		if (idx[i] != i) b = 0;
	}
	
	cout << (b ? ans : -1) << endl;
	
	
}

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int tc = 1;
	// cin >> tc;
	while (tc--){
		solve();
	}
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...