Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define viktor vector
- #define forn(i, s, e) for(ll i=s;i<e;++i)
- #define x first
- #define y second
- #define pii pair <int, int>
- #define pll pair <ll, ll>
- typedef long long ll;
- template <typename T>
- ostream&operator << (ostream&out, viktor <T>&v){
- forn(i,0,v.size()) cout << v[i] << " ";
- }
- template <typename T>
- istream&operator >> (istream&in, viktor <T>&v){
- forn(i,0,v.size()) cin >> v[i];
- }
- const ll INF=1000000000+1;
- int main(){
- int a;
- ll mi=INF, ma=-INF;
- cin >> a;
- viktor <ll> v(a);
- ll t;
- string s;
- for (int i=0;i<a;++i){
- t=0;
- cin >> s;
- if (s.size()==1 && (s[0]<='0' || s[0]>='9')){
- v[i]=INF;
- continue;
- }
- else {
- for (int j=s.size()-1;j>-1;--j){
- t=t*10+int(s[j]-'0');
- }
- }
- v[i]=t;
- }
- for (int i=0;i<a-1;++i){
- if (v[i]==INF && v[i+1]==INF){
- cout << "none";
- return 0;
- }
- if (v[i]!=INF && v[i+1]!=INF){
- if ((i+1)%2==1){
- if (v[i]>=v[i+1]){
- cout << "none";
- return 0;
- }
- }
- else {
- if (v[i]<=v[i+1]){
- cout << "none";
- return 0;
- }
- }
- }
- }
- for (int i=1;i<a-1;++i){
- if (v[i]==INF){
- if ((i+1)%2==0){
- if (v[i-1]!=INF && v[i-1]>ma) ma=v[i-1];
- if (v[i+1]!=INF && v[i+1]>ma) ma=v[i+1];
- }
- else {
- if (v[i-1]!=INF && v[i-1]<mi) mi=v[i-1];
- if (v[i+1]!=INF && v[i+1]<mi) mi=v[i+1];
- }
- }
- }
- if (v[0]==INF){
- if (v[1]!=INF && v[1]<mi) mi=v[1];
- }
- if (v[a-1]==INF){
- if (a%2==0){
- if (v[a-2]!=INF && v[a-2]>ma) ma=v[a-2];
- }
- else{
- if (v[a-2]!=INF && v[a-2]<mi) mi=v[a-2];
- }
- }
- if (mi-ma==2){
- cout << mi-1;
- }
- else if(mi-ma<2){
- cout << "none";
- }
- else{
- cout << "ambiguous";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement