【題解】Codeforces 1334A. Level Statistics

【題目敘述】http://codeforces.com/contest/1334/problem/A

#include <bits/stdc++.h>
using namespace std;
 
int t, n, a[1005], p, c;
 
int main(){
    cin >> t;
    while (t--){
        cin >> n;
        memset(a, -1, sizeof(a));
        bool flag = true;
        int mx = 0;
        for (int i = 0; i < n; i++){
            cin >> p >> c;
            if (p < c) flag = false;
            if (a[p] != -1 && a[p] != c) flag = false;
            if (p < mx) flag = false;
            else mx = p;
            a[p] = c;
        }
        if (!flag){
            cout << "NO\n";
            continue;
        }
        int pre = 0, val = 0;
        for (int i = 0; i < 1005; i++){
            if (a[i] != -1){
                if (a[i] < val) flag = false;
                if (a[i]-val > i-pre) flag = false;
                pre = i;
                val = a[i];
            }
        }
        if (!flag) cout << "NO\n";
        else cout << "YES\n";
    }
}
分享本文 Share with friends