Submission #118122

#TimeUsernameProblemLanguageResultExecution timeMemory
118122popovicirobertLightning Conductor (POI11_pio)C++14
81 / 100
1065 ms8400 KiB
#include <bits/stdc++.h> #define lsb(x) (x & (-x)) #define ll long long #define ull unsigned long long // 217 // 44 using namespace std; const int MAXN = (int) 5e5 + 5; int pref[MAXN + 1], suff[MAXN + 1]; int h[MAXN + 1], sq[1000]; int main() { //ifstream cin("B.in"); //ofstream cout("B.out"); int i, n; //ios::sync_with_stdio(false); //cin.tie(0), cout.tie(0); scanf("%d" ,&n); for(i = 1; i <= n; i++) { scanf("%d" ,&h[i]); } for(i = 1; i < 1000; i++) { sq[i] = i * i; } for(int j = 1; j <= n; j++) { int pos; pref[j] = max(pref[j], h[j]); for(i = 1; j + sq[i - 1] < n; i++) { pos = j + sq[i - 1] + 1; pref[pos] = max(pref[pos], h[j] + i); } suff[j] = max(suff[j], h[j]); for(i = 1; j - sq[i - 1] - 1 >= 1; i++) { pos = j - sq[i - 1] - 1; suff[pos] = max(suff[pos], h[j] + i); } } for(i = 1; i <= n; i++) { pref[i] = max(pref[i], pref[i - 1]); } for(i = n; i >= 1; i--) { suff[i] = max(suff[i + 1], suff[i]); } for(i = 1; i <= n; i++) { printf("%d\n" ,max(pref[i], suff[i]) - h[i]); } //cin.close(); //cout.close(); return 0; }

Compilation message (stderr)

pio.cpp: In function 'int main()':
pio.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d" ,&n);
     ~~~~~^~~~~~~~~~
pio.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d" ,&h[i]);
         ~~~~~^~~~~~~~~~~~~
#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...
#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...