Submission #710975

# Submission time Handle Problem Language Result Execution time Memory
710975 2023-03-16T06:28:11 Z penguin133 Rainy Markets (CCO22_day1problem2) C++17
11 / 25
1500 ms 47188 KB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

int A[1000005], B[1000005], C[1000005], n;
pii ans[1000005];
int fin = 0;
void solve(){
	cin >> n;
	for(int i=1;i<=n;i++)cin >> A[i];
	for(int i=1;i<n;i++)cin >> B[i];
	for(int i=1;i<n;i++)cin >> C[i];
	for(int i=1;i<n;i++){
		int x = min(B[i], A[i]);
		ans[i].fi = x;
		B[i] -= x;
		A[i] -= x;
		x = min(B[i], A[i+1]);
		ans[i].se.se = x;
		B[i] -= x;
		A[i+1] -= x;
		for(int j=i;j>=1;j--){
			if(!B[i])break;
			x = min(B[i], C[j]);
			C[j] -= x;
			B[i] -= x;
			ans[j].se.fi += x;
			fin += x;
			for(int k=j;k<i;k++)ans[k].se.se -= x, ans[k+1].fi += x;
		}
		if(B[i]){
			cout << "NO\n";
			return;
		}
	}
	for(int i=1;i<=n;i++)if(ans[i].se.se < 0){cout << "NO"; return;}
	cout << "YES\n" << fin << '\n';
	for(int i=1;i<n;i++)cout << ans[i].fi << ' ' << ans[i].se.fi << ' ' << ans[i].se.se << '\n';
}

main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int tc = 1;
	//cin >> tc;
	for(int tc1=1;tc1<=tc;tc1++){
		// cout << "Case #" << tc1 << ": ";
		solve();
	}
}

Compilation message

Main.cpp:50:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   50 | main(){
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 230 ms 23804 KB Output is correct
5 Correct 227 ms 23716 KB Output is correct
6 Execution timed out 1586 ms 47188 KB Time limit exceeded
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Correct 2 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 2 ms 340 KB Output is correct
11 Correct 2 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 468 KB Output is correct
16 Correct 1 ms 468 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 2 ms 340 KB Output is correct
22 Correct 1 ms 340 KB Output is correct
23 Correct 1 ms 468 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 280 KB Output is correct
27 Correct 1 ms 468 KB Output is correct
28 Correct 1 ms 340 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 468 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 1 ms 340 KB Output is correct
33 Correct 1 ms 340 KB Output is correct
34 Correct 1 ms 340 KB Output is correct
35 Correct 1 ms 340 KB Output is correct
36 Correct 1 ms 332 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Correct 2 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 2 ms 340 KB Output is correct
11 Correct 2 ms 340 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 468 KB Output is correct
16 Correct 1 ms 468 KB Output is correct
17 Correct 1 ms 340 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 1 ms 340 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 2 ms 340 KB Output is correct
22 Correct 1 ms 340 KB Output is correct
23 Correct 1 ms 468 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 280 KB Output is correct
27 Correct 1 ms 468 KB Output is correct
28 Correct 1 ms 340 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 468 KB Output is correct
31 Correct 1 ms 340 KB Output is correct
32 Correct 1 ms 340 KB Output is correct
33 Correct 1 ms 340 KB Output is correct
34 Correct 1 ms 340 KB Output is correct
35 Correct 1 ms 340 KB Output is correct
36 Correct 1 ms 332 KB Output is correct
37 Correct 1 ms 340 KB Output is correct
38 Correct 3 ms 544 KB Output is correct
39 Correct 2 ms 468 KB Output is correct
40 Correct 2 ms 468 KB Output is correct
41 Correct 2 ms 408 KB Output is correct
42 Correct 1 ms 340 KB Output is correct
43 Correct 0 ms 340 KB Output is correct
44 Correct 115 ms 468 KB Output is correct
45 Correct 134 ms 508 KB Output is correct
46 Correct 3 ms 408 KB Output is correct
47 Correct 2 ms 488 KB Output is correct
48 Correct 3 ms 600 KB Output is correct
49 Correct 3 ms 596 KB Output is correct
50 Correct 3 ms 468 KB Output is correct
51 Correct 2 ms 604 KB Output is correct
52 Correct 2 ms 600 KB Output is correct
53 Correct 1 ms 584 KB Output is correct
54 Correct 3 ms 596 KB Output is correct
55 Correct 2 ms 596 KB Output is correct
56 Correct 2 ms 596 KB Output is correct
57 Correct 2 ms 600 KB Output is correct
58 Correct 3 ms 596 KB Output is correct
59 Correct 3 ms 544 KB Output is correct
60 Correct 2 ms 596 KB Output is correct
61 Correct 2 ms 544 KB Output is correct
62 Correct 3 ms 596 KB Output is correct
63 Correct 2 ms 596 KB Output is correct
64 Correct 2 ms 468 KB Output is correct
65 Correct 2 ms 472 KB Output is correct
66 Correct 3 ms 600 KB Output is correct
67 Correct 3 ms 596 KB Output is correct
68 Correct 5 ms 596 KB Output is correct
69 Correct 3 ms 596 KB Output is correct
70 Correct 3 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 230 ms 23804 KB Output is correct
5 Correct 227 ms 23716 KB Output is correct
6 Execution timed out 1586 ms 47188 KB Time limit exceeded
7 Halted 0 ms 0 KB -