Submission #1966724
Source Code Expand
#include <iostream> #include <queue> using namespace std; #define FOR(i,s,e) for(int i = (s);i <= (e);++i) int n; int l; int a[100010]; int ti[100010]; int main() { cin >> n >> l; FOR(i,1,n) cin >> a[i]; queue<int> que; FOR(i,1,n) { if(a[i] > a[i - 1] && a[i] > a[i + 1]) { que.push(i); } } int result = 0; while(!que.empty()) { int ind = que.front(); que.pop(); if(a[ind] != 0) { int now = ti[ind] + l - a[ind]; a[ind]=0; ti[ind-1] = now; ti[ind+1] = now; result = max(result,now); int i = ind - 1; if(a[i] > a[i - 1] && a[i] > a[i + 1]) { que.push(i); } i = ind + 1; if(a[i] > a[i - 1] && a[i] > a[i + 1]) { que.push(i); } } } cout << result << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - つらら |
User | niuez |
Language | C++14 (GCC 5.4.1) |
Score | 20 |
Code Size | 728 Byte |
Status | AC |
Exec Time | 30 ms |
Memory | 1152 KB |
Judge Result
Set Name | set01 | set02 | set03 | set04 | set05 | set06 | set07 | set08 | set09 | set10 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | ||||||||||||||||||||
Status |
|
|
|
|
|
|
|
|
|
|
Set Name | Test Cases |
---|---|
set01 | data1 |
set02 | data2 |
set03 | data3 |
set04 | data4 |
set05 | data5 |
set06 | data6 |
set07 | data7 |
set08 | data8 |
set09 | data9 |
set10 | data10 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
data1 | AC | 1 ms | 256 KB |
data10 | AC | 15 ms | 640 KB |
data2 | AC | 1 ms | 256 KB |
data3 | AC | 1 ms | 256 KB |
data4 | AC | 30 ms | 1152 KB |
data5 | AC | 30 ms | 1152 KB |
data6 | AC | 28 ms | 1152 KB |
data7 | AC | 27 ms | 1152 KB |
data8 | AC | 21 ms | 1152 KB |
data9 | AC | 15 ms | 640 KB |