Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho dãy số nguyên dương ~A~ có ~n~ phần tử. Kiểm tra xem dãy ~A~ có sắp xếp lại thành dãy tăng được không?

Định nghĩa: một dãy ~X~ được coi là dãy tăng khi và chỉ khi: ~X_1 < X_2 < ... < X_i-1 < X_i < X_i+1 < ... < X_n - 1 < X_n~

Nếu không phải hãy in ra 'OK' ngược lại in ra '!OK'

Dữ liệu vào:

  • Dòng 1: Số nguyên dương ~n~ (~n \le 10^{6}~)
  • Dòng 2: Dãy ~A~ gồm ~n~ phân tử (~A_i \le 10^{7}~)

    Dữ liệu ra:

  • Dòng 1: Yêu cầu của bài toán

Ràng buộc

  • 60% số test: ~n \le 10^{3},A_i \le 10^{4} ~
  • 40% số test: không có ràng buộc gì thêm

Example

Input

4
2 4 0 8

Output

OK

Input

2
6 4

Output

OK

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    dat455  đã bình luận lúc 12, Tháng 10, 2025, 9:18

    include <bits/stdc++.h>

    using namespace std; int n,x,a[10000005]; int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); cin>>n; for(int i=1;i<=n;i++) {cin>>x;a[x]++;} for(int i=0;i<=1e7;i++) if(a[i]>1) {cout<<"!OK";return 0;} cout<<"OK"; return 0; }


  • -1
    plong  đã bình luận lúc 12, Tháng 10, 2025, 9:11

    include <bits/stdc++.h>

    using namespace std; int n,x,a[10000005]; int main() {cin>>n; for(int i=1;i<=n;i++) {cin>>x;a[x]++;} for(int i=0;i<=1e7;i++) if(a[i]>1) {cout<<"!OK";return 0;} cout<<"OK"; return 0; }