CSES - HIIT Open 2018 - Results
Submission details
Task:Buy Low, Sell High
Sender:Karhukopla
Submission time:2018-05-26 11:19:27 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.12 sdetails
#2ACCEPTED0.19 sdetails
#3ACCEPTED0.19 sdetails
#4ACCEPTED0.22 sdetails
#5ACCEPTED0.25 sdetails
#6ACCEPTED0.01 sdetails
#7ACCEPTED0.01 sdetails
#8ACCEPTED0.02 sdetails
#9ACCEPTED0.09 sdetails

Code

#include <bits/stdc++.h>

#define ll long long
#define lll __int128
#define pii pair<int, int>
#define M 1000000007
#define N (1<<20)
using namespace std;

int t[N], z[N];

int main () {
	ll nn;
	cin>>nn;
	int c = 1e9;
	for(int i=1; i<=nn; ++i){
		int a; cin >> a;
		z[i] = a;
		t[i] = max(t[i-1], a-c);
		c = min(a, c);
	}
	int V = 0;
	c=0;
	for(int i=nn; i>=1; --i){
		c = max(c, z[i]);
		V = max(V, t[i]+c-z[i]);
	}
	cout << V;
}

Test details

Test 1

Verdict: ACCEPTED

input
500000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
0

user output
0

Test 2

Verdict: ACCEPTED

input
500000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
499999

user output
499999

Test 3

Verdict: ACCEPTED

input
500000
500000 499999 499998 499997 49...

correct output
0

user output
0

Test 4

Verdict: ACCEPTED

input
500000
617752857 533265574 365848360 ...

correct output
1999980408

user output
1999980408

Test 5

Verdict: ACCEPTED

input
500000
209620375 316066031 756114325 ...

correct output
1999992655

user output
1999992655

Test 6

Verdict: ACCEPTED

input
1
1

correct output
0

user output
0

Test 7

Verdict: ACCEPTED

input
2
1 1

correct output
0

user output
0

Test 8

Verdict: ACCEPTED

input
2
2 1

correct output
0

user output
0

Test 9

Verdict: ACCEPTED

input
500000
1 1000000000 2 2 2 2 2 2 2 2 2...

correct output
1999999998

user output
1999999998