Submission #406731

# Submission time Handle Problem Language Result Execution time Memory
406731 2021-05-18T03:53:00 Z arwaeystoamneg Foehn Phenomena (JOI17_foehn_phenomena) C++17
100 / 100
164 ms 5912 KB
// EXPLOSION!
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
#include<unordered_set>
#include<unordered_map>
#include<chrono>

using namespace std;
typedef pair<int, int> pii;
typedef long long ll;
typedef pair<ll, ll> pll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<pair<int, int>> vpi;
typedef vector<pair<ll, ll>> vpll;

#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define F0R(i,a) FOR(i,0,a)
#define ROF(i,a,b) for (int i = (b)-1; i >= (a); --i)
#define R0F(i,a) ROF(i,0,a)
#define trav(a,x) for (auto& a: x)

#define pb push_back
#define mp make_pair
#define rsz resize
#define sz(x) int(x.size())
#define all(x) x.begin(),x.end()
#define f first
#define s second
#define cont continue
#define endl '\n'
//#define ednl '\n'
#define test int testc;cin>>testc;while(testc--)
#define pr(a, b) trav(x,a)cerr << x << b; cerr << endl;
#define message cout << "Hello World" << endl;
const int dx[4] = { 1,0,-1,0 }, dy[4] = { 0,1,0,-1 }; // for every grid problem!!
const ll linf = 4000000000000000000LL;
const ll inf = 1000000007;//998244353    

void pv(vi a) { trav(x, a)cout << x << " "; cout << endl; }void pv(vll a) { trav(x, a)cout << x << " "; cout << endl; }void pv(vector<vi>a) {
	F0R(i, sz(a)) { cout << i << endl; pv(a[i]); cout << endl; }
}void pv(vector<vll>a) { F0R(i, sz(a)) { cout << i << endl; pv(a[i]); }cout << endl; }void pv(vector<string>a) { trav(x, a)cout << x << endl; cout << endl; }
void setIO(string s) {
	ios_base::sync_with_stdio(0); cin.tie(0);
#ifdef arwaeystoamneg
	if (sz(s))
	{
		freopen((s + ".in").c_str(), "r", stdin);
		if (s != "test1")
			freopen((s + ".out").c_str(), "w", stdout);
	}
#endif
}
const int MAX = 200005;
int n, q, s, t;
ll a[MAX];
ll ans = 0;
ll count(int i)
{
	ll d = a[i];
	return (d > 0 ? s : t) * abs(d);
}
int main()
{
	setIO("test1");
	cin >> n >> q >> s >> t;
	s = -s;
	F0R(i, n + 1)cin >> a[i];
	F0R(i, n + 1)a[i] = a[i + 1] - a[i];
	F0R(i, n)ans += count(i);
	while (q--)
	{
		int x, y, z;
		cin >> x >> y >> z;
		ans -= count(x - 1);
		a[x - 1] += z;
		ans += count(x - 1);
		if (y < n)
			ans -= count(y);
		a[y] -= z;
		if (y < n)
			ans += count(y);
		cout << ans << endl;
	}
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 332 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
7 Correct 3 ms 332 KB Output is correct
8 Correct 2 ms 332 KB Output is correct
9 Correct 3 ms 328 KB Output is correct
10 Correct 2 ms 332 KB Output is correct
11 Correct 2 ms 332 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 3 ms 332 KB Output is correct
14 Correct 2 ms 332 KB Output is correct
15 Correct 2 ms 332 KB Output is correct
16 Correct 2 ms 344 KB Output is correct
17 Correct 2 ms 332 KB Output is correct
18 Correct 2 ms 332 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 118 ms 3692 KB Output is correct
2 Correct 120 ms 4156 KB Output is correct
3 Correct 121 ms 4732 KB Output is correct
4 Correct 123 ms 3888 KB Output is correct
5 Correct 125 ms 4676 KB Output is correct
6 Correct 106 ms 5036 KB Output is correct
7 Correct 118 ms 5032 KB Output is correct
8 Correct 118 ms 4932 KB Output is correct
9 Correct 119 ms 5316 KB Output is correct
10 Correct 119 ms 4036 KB Output is correct
11 Correct 104 ms 5064 KB Output is correct
12 Correct 113 ms 5472 KB Output is correct
13 Correct 107 ms 5840 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 332 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
7 Correct 3 ms 332 KB Output is correct
8 Correct 2 ms 332 KB Output is correct
9 Correct 3 ms 328 KB Output is correct
10 Correct 2 ms 332 KB Output is correct
11 Correct 2 ms 332 KB Output is correct
12 Correct 2 ms 376 KB Output is correct
13 Correct 3 ms 332 KB Output is correct
14 Correct 2 ms 332 KB Output is correct
15 Correct 2 ms 332 KB Output is correct
16 Correct 2 ms 344 KB Output is correct
17 Correct 2 ms 332 KB Output is correct
18 Correct 2 ms 332 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 118 ms 3692 KB Output is correct
23 Correct 120 ms 4156 KB Output is correct
24 Correct 121 ms 4732 KB Output is correct
25 Correct 123 ms 3888 KB Output is correct
26 Correct 125 ms 4676 KB Output is correct
27 Correct 106 ms 5036 KB Output is correct
28 Correct 118 ms 5032 KB Output is correct
29 Correct 118 ms 4932 KB Output is correct
30 Correct 119 ms 5316 KB Output is correct
31 Correct 119 ms 4036 KB Output is correct
32 Correct 104 ms 5064 KB Output is correct
33 Correct 113 ms 5472 KB Output is correct
34 Correct 107 ms 5840 KB Output is correct
35 Correct 130 ms 3596 KB Output is correct
36 Correct 133 ms 5060 KB Output is correct
37 Correct 126 ms 5912 KB Output is correct
38 Correct 164 ms 5688 KB Output is correct
39 Correct 124 ms 5620 KB Output is correct
40 Correct 127 ms 5828 KB Output is correct
41 Correct 135 ms 5444 KB Output is correct
42 Correct 122 ms 5572 KB Output is correct
43 Correct 119 ms 4808 KB Output is correct
44 Correct 129 ms 5292 KB Output is correct
45 Correct 119 ms 5060 KB Output is correct
46 Correct 123 ms 5752 KB Output is correct
47 Correct 116 ms 5664 KB Output is correct
48 Correct 113 ms 5828 KB Output is correct
49 Correct 113 ms 4736 KB Output is correct
50 Correct 124 ms 5532 KB Output is correct
51 Correct 108 ms 5520 KB Output is correct
52 Correct 107 ms 5540 KB Output is correct