제출 #894844

#제출 시각아이디문제언어결과실행 시간메모리
894844vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
30 / 100
1481 ms20104 KiB
// Problem: C - Hedgehog Daniyar and Algorithms
// Contest: Virtual Judge - Yosik IOI contest #1
// URL: https://vjudge.net/contest/601761#problem/C
// Memory Limit: 256 MB
// Time Limit: 3000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define sz(x) (int)x.size()
#define all(v) (v).begin(),(v).end()
#define rall(v) ((v).rbegin()), ((v).rend())
#define out(v)  for(auto& i : v) cout << i << ' ';
#define F first
#define S second
#define int long long

const ll N = 1e6 + 400;
const ll MOD = 1e9 + 7;
const string alf = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int a[N] , b[N] , pref[N];

void solve (){
	int n , m;
	cin >> n >> m;
	int ok = 1;
	for(int i = 1; i <= n; i ++){
		cin >> a[i];
	}
	if (n <= 5000 && m <= 5000){
		for(int x = 1; x <= m; x ++){
			int l ,r , k;
			cin >> l >> r >> k;
			for(int i = l ; i <= r; i ++){
				b[i] = a[i];
			}
			int mx = b[l] , ok = 1;
			for(int i = l + 1; i <= r; i ++){
				if (b[i] < mx && mx + b[i] > k){
					ok = 0;
					break;
				}
				mx = max(b[i] , mx);
			}
			cout << ok << endl;
		}
	}
	else {
        for(int i = 1; i <= n; i++){
            if (a[i] < a[i - 1]) {
                pref[i] = i;
            }
            else {
                pref[i] = pref[i - 1];
            }
        }
        for(int i= 1; i <= m; i ++){
            int l, r, k;
            cin >> l >> r >> k;
            cout << (pref[r] <= l) << endl;
        }
    }
}

signed main(){
	// freopen("ones.in" , "r" , stdin) ;
	// freopen("ones.out" , "w" , stdout) ;
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
	// int cs = 1;
	// cin >>T;
	while (T --){
		// cout <<"Case " << cs ++<< ":" << endl;
		solve ();
		// cout <<endl;
	}
}

컴파일 시 표준 에러 (stderr) 메시지

sortbooks.cpp: In function 'void solve()':
sortbooks.cpp:31:6: warning: unused variable 'ok' [-Wunused-variable]
   31 |  int ok = 1;
      |      ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...