Submission #2337428


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
 
 
int main()
{
  int N;
  int a[1000];
 
  while(cin >> N, N) {
    vector< int > nums;
    for(int i = 0; i < N; i++) {
      string S;
      cin >> S;
      if(S == "x") {
        a[i] = (1 << 30);
      } else {
        a[i] = stoi(S);
        for(int j = -2; j <= 2; j++) nums.push_back(a[i] + j);
      }
    }
    sort(nums.begin(), nums.end());
    nums.erase(unique(nums.begin(), nums.end()), nums.end());
 
    int ret = 0;
    vector< int > ans;
    for(int i = 0; i < nums.size(); i++) {
      int& x = nums[i];
      bool flag = true;
      for(int j = 1; j < N; j++) {
        int prevcur = (a[j - 1] == (1 << 30) ? x : a[j - 1]);
        int realcur = (a[j] == (1 << 30) ? x : a[j]);
        if(j & 1) flag &= prevcur < realcur;
        else flag &= prevcur > realcur;
      }
      ret += flag;
      if(flag) ans.push_back(nums[i]);
    }
    if(ret == 0) cout << "none" << endl;
    else if(ret == 1) cout << ans[0] << endl;
    else cout << "ambiguous" << endl;
  }
}

Submission Info

Submission Time
Task A - Broken Audio Signal
User ei13333
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1074 Byte
Status AC
Exec Time 167 ms
Memory 256 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 1
Set Name Test Cases
all Merged
Case Name Status Exec Time Memory
Merged AC 167 ms 256 KB