Submission #992776

#TimeUsernameProblemLanguageResultExecution timeMemory
992776n3rm1nHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
13 / 100
314 ms10188 KiB
#include<bits/stdc++.h> #define endl '\n' #define ll long long using namespace std; const int MAXN = 1e6+10; void speed() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } int n, m; int a[MAXN], w; int l, r, k; int go[MAXN]; void read() { cin >> n >> m; for (int i = 1; i <= n; ++ i) { cin >> a[i]; } } int marked[5005]; void solve5000() { for (int i = 1; i <= m; ++ i) { cin >> l >> r >> k; vector < pair < int, int > > g; for (int j = l; j <= r; ++ j) { g.push_back(make_pair(-a[j], j)); } sort(g.begin(), g.end()); int cut = r+1, ok = 1; for (int j = 0; j < g.size() && ok; ++ j) { for (int id = g[j].second+1; id < cut && ok; ++ id) { if(a[id] - g[j].first <= k)continue; else { //cout << a[id] << " " << g[j].first << endl; ok = 0; } } cut = g[j].second; } cout << ok << endl; } } void solve13() { int j = 1; for (int i = 1; i <= n; ++ i) { j = max(j, i); while(j < n && a[j] <= a[j+1])j ++; go[i] = j; } for (int i = 1; i <= m; ++ i) { cin >> l >> r >> k; if(go[l] < r)cout << 0 << endl; else cout << 1 << endl; } } int main() { speed(); read(); if(n <= 5000)solve5000(); else solve13(); return 0; }

Compilation message (stderr)

sortbooks.cpp: In function 'void solve5000()':
sortbooks.cpp:38:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |         for (int j = 0; j < g.size() && ok; ++ j)
      |                         ~~^~~~~~~~~~
#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...