Submission #2552087
Source Code Expand
#include <cstdio> #include <cstring> #include <cmath> #include <ctime> #include <iostream> #include <algorithm> #include <string> #include <vector> #include <queue> #include <set> #include <map> #include <stack> using namespace std; #define ll long long #define mst(a) memset(a, 0, sizeof a) const int mod = 1e9+7; const int maxn = 1e5+50; const int inf = 1e9; ll x[maxn]; int v[maxn]; ll w[maxn]; ll sum_pre[maxn], sum_suf[maxn]; ll max_pre[maxn], max_suf[maxn]; int main() { int n; ll c; cin >> n >> c; for (int i = 0; i < n; ++i) { cin >> x[i] >> v[i]; } for (int i = 0; i < n; ++i) { sum_pre[i] = !i ? v[i] : sum_pre[i-1] + v[i]; max_pre[i] = !i ? v[i]-x[i] : max(max_pre[i-1], sum_pre[i]-x[i]); } for (int i = n-1; i >= 0; --i) { sum_suf[i] = (i == n-1) ? v[i] : sum_suf[i+1] + v[i]; max_suf[i] = (i == n-1) ? v[i]-c+x[i] : max(max_suf[i+1], sum_suf[i]-c+x[i]); } ll ans = 0, tmp = 0; for (int i = 0; i < n; ++i) { tmp = sum_pre[i] - x[i]; // printf("%d %lld ", i, tmp); tmp += max(0LL, max_suf[i+1]-x[i]); // printf("%lld ", tmp); ans = max(ans, tmp); tmp = sum_suf[i] - c + x[i]; //printf("%lld ", tmp); tmp += max(0LL, max_pre[i-1]-c+x[i]); ans = max(ans, tmp); //printf("%lld\n", tmp); } printf("%lld\n", ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Static Sushi |
User | sopv |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 1495 Byte |
Status | AC |
Exec Time | 119 ms |
Memory | 5376 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | 200 / 200 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03, a04 |
Subtask1 | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29 |
Subtask2 | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 2 ms | 2304 KB |
a02 | AC | 2 ms | 2304 KB |
a03 | AC | 2 ms | 2304 KB |
a04 | AC | 2 ms | 2304 KB |
b05 | AC | 2 ms | 2304 KB |
b06 | AC | 2 ms | 2304 KB |
b07 | AC | 2 ms | 2304 KB |
b08 | AC | 2 ms | 2304 KB |
b09 | AC | 2 ms | 2304 KB |
b10 | AC | 2 ms | 2304 KB |
b11 | AC | 2 ms | 2304 KB |
b12 | AC | 2 ms | 2304 KB |
b13 | AC | 2 ms | 2304 KB |
b14 | AC | 2 ms | 2304 KB |
b15 | AC | 2 ms | 2304 KB |
b16 | AC | 2 ms | 2304 KB |
b17 | AC | 2 ms | 2304 KB |
b18 | AC | 2 ms | 2304 KB |
b19 | AC | 2 ms | 2304 KB |
b20 | AC | 2 ms | 2304 KB |
b21 | AC | 2 ms | 2304 KB |
b22 | AC | 2 ms | 2304 KB |
b23 | AC | 2 ms | 2304 KB |
b24 | AC | 2 ms | 2304 KB |
b25 | AC | 2 ms | 2304 KB |
b26 | AC | 2 ms | 2304 KB |
b27 | AC | 2 ms | 2304 KB |
b28 | AC | 2 ms | 2304 KB |
b29 | AC | 2 ms | 2304 KB |
c30 | AC | 48 ms | 5376 KB |
c31 | AC | 86 ms | 5376 KB |
c32 | AC | 119 ms | 5376 KB |
c33 | AC | 112 ms | 5376 KB |
c34 | AC | 113 ms | 5376 KB |
c35 | AC | 47 ms | 5376 KB |
c36 | AC | 109 ms | 5376 KB |
c37 | AC | 103 ms | 5376 KB |
c38 | AC | 104 ms | 5376 KB |
c39 | AC | 104 ms | 5376 KB |
c40 | AC | 106 ms | 5376 KB |
c41 | AC | 102 ms | 5376 KB |
c42 | AC | 114 ms | 5376 KB |
c43 | AC | 12 ms | 2560 KB |
c44 | AC | 104 ms | 5376 KB |
c45 | AC | 3 ms | 2304 KB |
c46 | AC | 101 ms | 5376 KB |
c47 | AC | 2 ms | 2304 KB |
c48 | AC | 104 ms | 5376 KB |
c49 | AC | 102 ms | 5376 KB |
c50 | AC | 106 ms | 5376 KB |