Submission #2414641
Source Code Expand
#include <bits/stdc++.h> using namespace std; const int INF = 1e9 + 10; int main() { int N; string s; while (cin >> N, N) { vector<int> a(N); for (int i = 0; i < N; i++) { cin >> s; if (s == "x") { a[i] = INF; } else { a[i] = stoi(s); } } int ma = INF, mi = -INF; for (int i = 1; i < N; i++) { if (a[i] == INF) { if (a[i - 1] == INF) { ma = -INF; mi = INF; break; } else if (i & 1) { mi = max(mi, a[i - 1] + 1); } else { ma = min(ma, a[i - 1] - 1); } } else if (a[i - 1] == INF) { if (i & 1) { ma = min(ma, a[i] - 1); } else { mi = max(mi, a[i] + 1); } } else if (i & 1) { if (a[i - 1] >= a[i]) { ma = -INF; mi = INF; break; } } else { if (a[i - 1] <= a[i]) { ma = -INF; mi = INF; break; } } } if (ma == mi) { cout << ma << endl; } else { cout << (ma > mi ? "ambiguous" : "none") << endl; } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Broken Audio Signal |
User | kazuma |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1667 Byte |
Status | AC |
Exec Time | 18 ms |
Memory | 256 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
all | Merged |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
Merged | AC | 18 ms | 256 KB |