Submission #2391961
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define SZ(x) ((int)(x).size())
#define all(x) (x).begin(),(x).end()
#define Es(x,i) for(Edge *i=G[x];i;i=i->nxt)
typedef double ld;
typedef long long ll;
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f,mo=1e9+7;
template<typename A,typename B>inline bool upmx(A&x,const B&y){return x<y?x=y,1:0;}
template<typename A,typename B>inline bool upmn(A&x,const B&y){return x>y?x=y,1:0;}
template<typename T>inline T gcd(T x,T y){for(;y;swap(x,y))x%=y;return x;}
inline int Pow(int a,int b,int p=mo){int r=1;for(;b;b>>=1,a=1ll*a*a%p)if(b&1)r=1ll*r*a%p;return r;}
#ifdef flukehn
#define debug(...) fprintf(stderr, __VA_ARGS__)
#else
#define debug(...)
#endif
const int N=1e5+11;
int n;
ll a[N];
int b[N];
ll f[N],g[N],ff[N],gg[N];
ll C;
int read()
{
char ch=getchar();int f=0,x=1;
while(ch<'0'||ch>'9'){if(ch=='-') x=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){f=(f<<1)+(f<<3)+ch-'0';ch=getchar();}
return f*x;
}
int main(){
n=read();scanf("%lld",&C);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
b[i]=read();
}
ll ans=0;
for(int i=1;i<=n;i++){
f[i]=f[i-1]+b[i];
}
for(int i=1;i<=n;i++)f[i]-=a[i];
for(int i=1;i<=n;i++){
ff[i]=max(f[i],ff[i-1]);
}
ans=ff[n];
for(int i=n;i;i--){
g[i]=g[i+1]+b[i];
}
for(int i=n;i;i--){
g[i]-=(C-a[i]);
upmx(ans,g[i]);
upmx(ans,g[i]-(C-a[i])+ff[i-1]);
}
for(int i=n;i;i--)gg[i]=max(gg[i+1],g[i]);
for(int i=1;i<=n;i++){
upmx(ans,f[i]-a[i]+gg[i+1]);
}
cout<<ans;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Static Sushi |
| User | mengbierr |
| Language | C++14 (GCC 5.4.1) |
| Score | 500 |
| Code Size | 1636 Byte |
| Status | AC |
| Exec Time | 27 ms |
| Memory | 4480 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:37:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
n=read();scanf("%lld",&C);
^
./Main.cpp:40:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld",&a[i]);
^
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 KiB |
| a02 | AC | 2 ms | 2304 KiB |
| a03 | AC | 2 ms | 2304 KiB |
| a04 | AC | 2 ms | 2304 KiB |
| b05 | AC | 2 ms | 2304 KiB |
| b06 | AC | 2 ms | 2304 KiB |
| b07 | AC | 2 ms | 2304 KiB |
| b08 | AC | 2 ms | 2304 KiB |
| b09 | AC | 2 ms | 2304 KiB |
| b10 | AC | 2 ms | 2304 KiB |
| b11 | AC | 2 ms | 2304 KiB |
| b12 | AC | 2 ms | 2304 KiB |
| b13 | AC | 2 ms | 2304 KiB |
| b14 | AC | 2 ms | 2304 KiB |
| b15 | AC | 2 ms | 2304 KiB |
| b16 | AC | 2 ms | 2304 KiB |
| b17 | AC | 2 ms | 2304 KiB |
| b18 | AC | 2 ms | 2304 KiB |
| b19 | AC | 2 ms | 2304 KiB |
| b20 | AC | 2 ms | 2304 KiB |
| b21 | AC | 2 ms | 2304 KiB |
| b22 | AC | 2 ms | 2304 KiB |
| b23 | AC | 2 ms | 2304 KiB |
| b24 | AC | 2 ms | 2304 KiB |
| b25 | AC | 2 ms | 2304 KiB |
| b26 | AC | 2 ms | 2304 KiB |
| b27 | AC | 2 ms | 2304 KiB |
| b28 | AC | 2 ms | 2304 KiB |
| b29 | AC | 2 ms | 2304 KiB |
| c30 | AC | 16 ms | 4480 KiB |
| c31 | AC | 23 ms | 4480 KiB |
| c32 | AC | 27 ms | 4480 KiB |
| c33 | AC | 27 ms | 4480 KiB |
| c34 | AC | 27 ms | 4480 KiB |
| c35 | AC | 16 ms | 4480 KiB |
| c36 | AC | 26 ms | 4480 KiB |
| c37 | AC | 25 ms | 4480 KiB |
| c38 | AC | 25 ms | 4480 KiB |
| c39 | AC | 26 ms | 4480 KiB |
| c40 | AC | 26 ms | 4480 KiB |
| c41 | AC | 25 ms | 4480 KiB |
| c42 | AC | 25 ms | 4480 KiB |
| c43 | AC | 4 ms | 2560 KiB |
| c44 | AC | 25 ms | 4480 KiB |
| c45 | AC | 2 ms | 2304 KiB |
| c46 | AC | 25 ms | 4480 KiB |
| c47 | AC | 2 ms | 2304 KiB |
| c48 | AC | 26 ms | 4480 KiB |
| c49 | AC | 26 ms | 4480 KiB |
| c50 | AC | 26 ms | 4480 KiB |