Submission #119221

# Submission time Handle Problem Language Result Execution time Memory
119221 2019-06-20T16:56:16 Z patrikpavic2 Aliens (IOI16_aliens) C++17
100 / 100
194 ms 9372 KB
#include "aliens.h"
#include <vector>
#include <algorithm>
#include <stack>
#include <cstdio>
#include <cstring>

#define X first
#define Y second
#define PB push_back

using namespace std;

typedef long long ll;
typedef pair < int , int > pii;
typedef vector < int > vi;
typedef pair < ll, ll > pt;

const int N = 1e5 + 500;

const ll INF = 1e13;

bool cmp(pii A, pii B){
	if(A.Y == B.Y) return A.X > B.X;
	return A.Y < B.Y;
}

int x[N], y[N], cnt[N], n, k, cur = 0;
vector < pii > v;
ll pref[N], dp[N], mst = -1;
pt toc[N];
vector < int > hl;

ll cost(int l,int r){
	return (ll)(x[l] - y[r]) * (x[l] - y[r]) - (pref[r] - pref[l] + (ll)(y[l] - x[l]) * (y[l] - x[l]));
}

ll ccw(pt A, pt B, pt C){
	return (A.X) * (B.Y - C.Y) + B.X * (C.Y - A.Y) + C.X * (A.Y - B.Y);
}

void add(int X){
	for(;hl.size() >= 2 && ccw(toc[hl[hl.size() - 1]], toc[hl[hl.size() - 2]], toc[X]) <= 0;) 
		hl.pop_back();
	hl.PB(X);
	cur = min(cur, (int)hl.size() - 1);
}

ll get(int i, ll x){
	return toc[hl[i]].X * x + toc[hl[i]].Y;
}

/**

ll f(int i,int c){
	if(i == n) return (c > k) * INF;
	if(dp[i][c] != -1) return dp[i][c];
	ll ret = INF;
	for(int j = i;j < n;j++){
		ret = min(ret, f(j + 1, c + 1) + cost(i, j));
	}
	return dp[i][c] = ret;
}

**/

ll f(ll cst,int fl = 0){
	hl.clear(); cur = 0;
	toc[n] = {-2 * x[0], -(ll)y[0] * y[0] + 2LL * x[0] * y[0]}; cnt[n] = 0;
	add(n);
	for(int i = 0;i < n;i++){
		while(cur + 1 < hl.size() && get(cur, y[i]) > get(cur + 1, y[i]))
			cur++;
		dp[i] = get(cur, y[i]) + (ll)y[i] * y[i] - pref[i] + cst;
		cnt[i] = cnt[hl[cur]] + 1;
		toc[i] = {-2 * x[i + 1], dp[i] - (ll)y[i + 1] * y[i + 1] + 2LL * x[i + 1] * y[i + 1] + pref[i + 1]};
		add(i);
	}
	if(fl) {
		//printf("%lld %lld CNT %d K %d\n", dp[n - 1] - (ll)k * cst, cst, cnt[n - 1], k);
		//return max(dp[n - 1] - (ll)k * cst, 0LL);
		return dp[n - 1] - (ll)k * cst;
	}
	if(cnt[n - 1] == k) mst = cst;
	return cnt[n - 1] < k;
}

ll take_photos(int nn, int m, int kk, vi r, vi cc) {
	k = kk; n = nn;
	for(int i = 0;i < n;i++){
		if(r[i] > cc[i]) swap(r[i], cc[i]);
		v.PB({r[i], cc[i] + 1});
	}	
	sort(v.begin(), v.end(), cmp);
	stack < int > st;
	for(int i = 0;i < n;i++){
		//printf("{%d %d}\n", v[i].X, v[i].Y);
		for(;!st.empty() && v[st.top()].X >= v[i].X; st.pop());
		st.push(i);
		//printf("PUSH %d SZ %d\n", i, (int)st.size());
	}
	n = st.size();int c = st.size() - 1;
    k = min(k, n);
	//printf("NEW N %d\n", n);
	for(; c >= 0; c--, st.pop())
		x[c] = v[st.top()].X, y[c] = v[st.top()].Y;
    for(int i = 1;i < n;i++){
    	pref[i] = pref[i - 1];
    	if(y[i - 1] > x[i])
    		pref[i] -= (ll)(x[i] - y[i - 1]) * (x[i] - y[i - 1]); 
    	pref[i] += (ll)(x[i] - y[i]) * (x[i] - y[i]);
    }
    ll bs = pref[n - 1] + (ll)(x[0] - y[0]) * (x[0] - y[0]);
    ll sol = INF;
    ll lo_cst = 0, hi_cst = INF;
    //printf("%lld\n:", bs);
    for(int i = 0;i < 65;i++){
    	//break;
    	ll mid = (lo_cst + hi_cst) / 2;
    	if(!f(mid))
    		lo_cst = mid + 1;
    	else
    		hi_cst = mid;
    }
    if(mst != -1)
		return f(mst , 1) + bs;	
	return f(lo_cst  , 1) + bs;
}






Compilation message

aliens.cpp: In function 'll f(ll, int)':
aliens.cpp:72:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(cur + 1 < hl.size() && get(cur, y[i]) > get(cur + 1, y[i]))
         ~~~~~~~~^~~~~~~~~~~
aliens.cpp: In function 'll take_photos(int, int, int, vi, vi)':
aliens.cpp:114:8: warning: unused variable 'sol' [-Wunused-variable]
     ll sol = INF;
        ^~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 4
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 384 KB Correct answer: answer = 12
5 Correct 2 ms 384 KB Correct answer: answer = 52
6 Correct 2 ms 384 KB Correct answer: answer = 210
7 Correct 2 ms 384 KB Correct answer: answer = 88
8 Correct 2 ms 384 KB Correct answer: answer = 7696
9 Correct 2 ms 384 KB Correct answer: answer = 1
10 Correct 2 ms 384 KB Correct answer: answer = 2374
11 Correct 2 ms 384 KB Correct answer: answer = 9502
12 Correct 3 ms 384 KB Correct answer: answer = 49
13 Correct 7 ms 384 KB Correct answer: answer = 151
14 Correct 2 ms 384 KB Correct answer: answer = 7550
15 Correct 2 ms 384 KB Correct answer: answer = 7220
16 Correct 2 ms 384 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 384 KB Correct answer: answer = 624
20 Correct 2 ms 384 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 1
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 384 KB Correct answer: answer = 1
4 Correct 2 ms 384 KB Correct answer: answer = 5
5 Correct 4 ms 384 KB Correct answer: answer = 41
6 Correct 2 ms 384 KB Correct answer: answer = 71923
7 Correct 2 ms 384 KB Correct answer: answer = 77137
8 Correct 2 ms 384 KB Correct answer: answer = 764
9 Correct 2 ms 384 KB Correct answer: answer = 250000
10 Correct 3 ms 384 KB Correct answer: answer = 500
11 Correct 2 ms 384 KB Correct answer: answer = 32
12 Correct 2 ms 384 KB Correct answer: answer = 130050
13 Correct 3 ms 384 KB Correct answer: answer = 5110
14 Correct 2 ms 384 KB Correct answer: answer = 2626
15 Correct 2 ms 384 KB Correct answer: answer = 796
16 Correct 3 ms 384 KB Correct answer: answer = 7580
17 Correct 3 ms 384 KB Correct answer: answer = 1904
18 Correct 2 ms 384 KB Correct answer: answer = 996004
19 Correct 3 ms 512 KB Correct answer: answer = 38817
20 Correct 2 ms 384 KB Correct answer: answer = 4096
21 Correct 2 ms 384 KB Correct answer: answer = 1
22 Correct 2 ms 384 KB Correct answer: answer = 1
23 Correct 3 ms 384 KB Correct answer: answer = 2040
24 Correct 2 ms 384 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 4
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 384 KB Correct answer: answer = 12
5 Correct 2 ms 384 KB Correct answer: answer = 52
6 Correct 2 ms 384 KB Correct answer: answer = 210
7 Correct 2 ms 384 KB Correct answer: answer = 88
8 Correct 2 ms 384 KB Correct answer: answer = 7696
9 Correct 2 ms 384 KB Correct answer: answer = 1
10 Correct 2 ms 384 KB Correct answer: answer = 2374
11 Correct 2 ms 384 KB Correct answer: answer = 9502
12 Correct 3 ms 384 KB Correct answer: answer = 49
13 Correct 7 ms 384 KB Correct answer: answer = 151
14 Correct 2 ms 384 KB Correct answer: answer = 7550
15 Correct 2 ms 384 KB Correct answer: answer = 7220
16 Correct 2 ms 384 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 384 KB Correct answer: answer = 624
20 Correct 2 ms 384 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 384 KB Correct answer: answer = 4
23 Correct 2 ms 384 KB Correct answer: answer = 1
24 Correct 2 ms 384 KB Correct answer: answer = 5
25 Correct 4 ms 384 KB Correct answer: answer = 41
26 Correct 2 ms 384 KB Correct answer: answer = 71923
27 Correct 2 ms 384 KB Correct answer: answer = 77137
28 Correct 2 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 3 ms 384 KB Correct answer: answer = 500
31 Correct 2 ms 384 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 3 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 2 ms 384 KB Correct answer: answer = 796
36 Correct 3 ms 384 KB Correct answer: answer = 7580
37 Correct 3 ms 384 KB Correct answer: answer = 1904
38 Correct 2 ms 384 KB Correct answer: answer = 996004
39 Correct 3 ms 512 KB Correct answer: answer = 38817
40 Correct 2 ms 384 KB Correct answer: answer = 4096
41 Correct 2 ms 384 KB Correct answer: answer = 1
42 Correct 2 ms 384 KB Correct answer: answer = 1
43 Correct 3 ms 384 KB Correct answer: answer = 2040
44 Correct 2 ms 384 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 384 KB Correct answer: answer = 9
47 Correct 2 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 256 KB Correct answer: answer = 21
49 Correct 2 ms 384 KB Correct answer: answer = 71
50 Correct 2 ms 384 KB Correct answer: answer = 77
51 Correct 2 ms 384 KB Correct answer: answer = 400
52 Correct 2 ms 384 KB Correct answer: answer = 996004
53 Correct 2 ms 384 KB Correct answer: answer = 997310
54 Correct 2 ms 384 KB Correct answer: answer = 990781
55 Correct 2 ms 512 KB Correct answer: answer = 996545
56 Correct 2 ms 384 KB Correct answer: answer = 484
57 Correct 2 ms 384 KB Correct answer: answer = 484
58 Correct 2 ms 384 KB Correct answer: answer = 63501
59 Correct 2 ms 384 KB Correct answer: answer = 323501
60 Correct 2 ms 384 KB Correct answer: answer = 752500
61 Correct 2 ms 384 KB Correct answer: answer = 761480
62 Correct 2 ms 384 KB Correct answer: answer = 758932
63 Correct 2 ms 384 KB Correct answer: answer = 1000000
64 Correct 3 ms 384 KB Correct answer: answer = 750500
65 Correct 2 ms 384 KB Correct answer: answer = 1000000
66 Correct 2 ms 384 KB Correct answer: answer = 250000
67 Correct 2 ms 384 KB Correct answer: answer = 250000
68 Correct 2 ms 384 KB Correct answer: answer = 1000000
69 Correct 3 ms 384 KB Correct answer: answer = 994009
70 Correct 2 ms 384 KB Correct answer: answer = 59315
71 Correct 2 ms 384 KB Correct answer: answer = 25454
72 Correct 2 ms 384 KB Correct answer: answer = 1504
73 Correct 2 ms 384 KB Correct answer: answer = 37486
74 Correct 2 ms 384 KB Correct answer: answer = 4284
75 Correct 2 ms 384 KB Correct answer: answer = 158008
76 Correct 2 ms 384 KB Correct answer: answer = 51860
77 Correct 2 ms 384 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 4
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 384 KB Correct answer: answer = 12
5 Correct 2 ms 384 KB Correct answer: answer = 52
6 Correct 2 ms 384 KB Correct answer: answer = 210
7 Correct 2 ms 384 KB Correct answer: answer = 88
8 Correct 2 ms 384 KB Correct answer: answer = 7696
9 Correct 2 ms 384 KB Correct answer: answer = 1
10 Correct 2 ms 384 KB Correct answer: answer = 2374
11 Correct 2 ms 384 KB Correct answer: answer = 9502
12 Correct 3 ms 384 KB Correct answer: answer = 49
13 Correct 7 ms 384 KB Correct answer: answer = 151
14 Correct 2 ms 384 KB Correct answer: answer = 7550
15 Correct 2 ms 384 KB Correct answer: answer = 7220
16 Correct 2 ms 384 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 384 KB Correct answer: answer = 624
20 Correct 2 ms 384 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 384 KB Correct answer: answer = 4
23 Correct 2 ms 384 KB Correct answer: answer = 1
24 Correct 2 ms 384 KB Correct answer: answer = 5
25 Correct 4 ms 384 KB Correct answer: answer = 41
26 Correct 2 ms 384 KB Correct answer: answer = 71923
27 Correct 2 ms 384 KB Correct answer: answer = 77137
28 Correct 2 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 3 ms 384 KB Correct answer: answer = 500
31 Correct 2 ms 384 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 3 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 2 ms 384 KB Correct answer: answer = 796
36 Correct 3 ms 384 KB Correct answer: answer = 7580
37 Correct 3 ms 384 KB Correct answer: answer = 1904
38 Correct 2 ms 384 KB Correct answer: answer = 996004
39 Correct 3 ms 512 KB Correct answer: answer = 38817
40 Correct 2 ms 384 KB Correct answer: answer = 4096
41 Correct 2 ms 384 KB Correct answer: answer = 1
42 Correct 2 ms 384 KB Correct answer: answer = 1
43 Correct 3 ms 384 KB Correct answer: answer = 2040
44 Correct 2 ms 384 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 384 KB Correct answer: answer = 9
47 Correct 2 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 256 KB Correct answer: answer = 21
49 Correct 2 ms 384 KB Correct answer: answer = 71
50 Correct 2 ms 384 KB Correct answer: answer = 77
51 Correct 2 ms 384 KB Correct answer: answer = 400
52 Correct 2 ms 384 KB Correct answer: answer = 996004
53 Correct 2 ms 384 KB Correct answer: answer = 997310
54 Correct 2 ms 384 KB Correct answer: answer = 990781
55 Correct 2 ms 512 KB Correct answer: answer = 996545
56 Correct 2 ms 384 KB Correct answer: answer = 484
57 Correct 2 ms 384 KB Correct answer: answer = 484
58 Correct 2 ms 384 KB Correct answer: answer = 63501
59 Correct 2 ms 384 KB Correct answer: answer = 323501
60 Correct 2 ms 384 KB Correct answer: answer = 752500
61 Correct 2 ms 384 KB Correct answer: answer = 761480
62 Correct 2 ms 384 KB Correct answer: answer = 758932
63 Correct 2 ms 384 KB Correct answer: answer = 1000000
64 Correct 3 ms 384 KB Correct answer: answer = 750500
65 Correct 2 ms 384 KB Correct answer: answer = 1000000
66 Correct 2 ms 384 KB Correct answer: answer = 250000
67 Correct 2 ms 384 KB Correct answer: answer = 250000
68 Correct 2 ms 384 KB Correct answer: answer = 1000000
69 Correct 3 ms 384 KB Correct answer: answer = 994009
70 Correct 2 ms 384 KB Correct answer: answer = 59315
71 Correct 2 ms 384 KB Correct answer: answer = 25454
72 Correct 2 ms 384 KB Correct answer: answer = 1504
73 Correct 2 ms 384 KB Correct answer: answer = 37486
74 Correct 2 ms 384 KB Correct answer: answer = 4284
75 Correct 2 ms 384 KB Correct answer: answer = 158008
76 Correct 2 ms 384 KB Correct answer: answer = 51860
77 Correct 2 ms 384 KB Correct answer: answer = 12985
78 Correct 3 ms 512 KB Correct answer: answer = 997864126212
79 Correct 3 ms 384 KB Correct answer: answer = 998608411647
80 Correct 4 ms 512 KB Correct answer: answer = 995265560477
81 Correct 7 ms 640 KB Correct answer: answer = 10125000
82 Correct 7 ms 640 KB Correct answer: answer = 2291668
83 Correct 4 ms 512 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 4 ms 512 KB Correct answer: answer = 3416
86 Correct 9 ms 684 KB Correct answer: answer = 331708193881
87 Correct 9 ms 640 KB Correct answer: answer = 2861193756
88 Correct 9 ms 640 KB Correct answer: answer = 114646930
89 Correct 7 ms 640 KB Correct answer: answer = 9280921
90 Correct 7 ms 640 KB Correct answer: answer = 999984053400
91 Correct 9 ms 640 KB Correct answer: answer = 750935949134
92 Correct 3 ms 512 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 512 KB Correct answer: answer = 998762383161
94 Correct 10 ms 640 KB Correct answer: answer = 23017412908
95 Correct 3 ms 512 KB Correct answer: answer = 728143410622
96 Correct 3 ms 512 KB Correct answer: answer = 2
97 Correct 8 ms 768 KB Correct answer: answer = 1824916
98 Correct 7 ms 768 KB Correct answer: answer = 10680029
99 Correct 10 ms 768 KB Correct answer: answer = 18351700
100 Correct 6 ms 640 KB Correct answer: answer = 16040026
101 Correct 4 ms 512 KB Correct answer: answer = 253968628325
102 Correct 5 ms 512 KB Correct answer: answer = 10267
103 Correct 8 ms 768 KB Correct answer: answer = 2582408
104 Correct 4 ms 512 KB Correct answer: answer = 78024964781
105 Correct 3 ms 512 KB Correct answer: answer = 9866346457
106 Correct 4 ms 512 KB Correct answer: answer = 3327720949
107 Correct 4 ms 512 KB Correct answer: answer = 86064128360
108 Correct 5 ms 512 KB Correct answer: answer = 12698259150
109 Correct 7 ms 640 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 4
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 384 KB Correct answer: answer = 12
5 Correct 2 ms 384 KB Correct answer: answer = 52
6 Correct 2 ms 384 KB Correct answer: answer = 210
7 Correct 2 ms 384 KB Correct answer: answer = 88
8 Correct 2 ms 384 KB Correct answer: answer = 7696
9 Correct 2 ms 384 KB Correct answer: answer = 1
10 Correct 2 ms 384 KB Correct answer: answer = 2374
11 Correct 2 ms 384 KB Correct answer: answer = 9502
12 Correct 3 ms 384 KB Correct answer: answer = 49
13 Correct 7 ms 384 KB Correct answer: answer = 151
14 Correct 2 ms 384 KB Correct answer: answer = 7550
15 Correct 2 ms 384 KB Correct answer: answer = 7220
16 Correct 2 ms 384 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 384 KB Correct answer: answer = 624
20 Correct 2 ms 384 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 384 KB Correct answer: answer = 4
23 Correct 2 ms 384 KB Correct answer: answer = 1
24 Correct 2 ms 384 KB Correct answer: answer = 5
25 Correct 4 ms 384 KB Correct answer: answer = 41
26 Correct 2 ms 384 KB Correct answer: answer = 71923
27 Correct 2 ms 384 KB Correct answer: answer = 77137
28 Correct 2 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 3 ms 384 KB Correct answer: answer = 500
31 Correct 2 ms 384 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 3 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 2 ms 384 KB Correct answer: answer = 796
36 Correct 3 ms 384 KB Correct answer: answer = 7580
37 Correct 3 ms 384 KB Correct answer: answer = 1904
38 Correct 2 ms 384 KB Correct answer: answer = 996004
39 Correct 3 ms 512 KB Correct answer: answer = 38817
40 Correct 2 ms 384 KB Correct answer: answer = 4096
41 Correct 2 ms 384 KB Correct answer: answer = 1
42 Correct 2 ms 384 KB Correct answer: answer = 1
43 Correct 3 ms 384 KB Correct answer: answer = 2040
44 Correct 2 ms 384 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 384 KB Correct answer: answer = 9
47 Correct 2 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 256 KB Correct answer: answer = 21
49 Correct 2 ms 384 KB Correct answer: answer = 71
50 Correct 2 ms 384 KB Correct answer: answer = 77
51 Correct 2 ms 384 KB Correct answer: answer = 400
52 Correct 2 ms 384 KB Correct answer: answer = 996004
53 Correct 2 ms 384 KB Correct answer: answer = 997310
54 Correct 2 ms 384 KB Correct answer: answer = 990781
55 Correct 2 ms 512 KB Correct answer: answer = 996545
56 Correct 2 ms 384 KB Correct answer: answer = 484
57 Correct 2 ms 384 KB Correct answer: answer = 484
58 Correct 2 ms 384 KB Correct answer: answer = 63501
59 Correct 2 ms 384 KB Correct answer: answer = 323501
60 Correct 2 ms 384 KB Correct answer: answer = 752500
61 Correct 2 ms 384 KB Correct answer: answer = 761480
62 Correct 2 ms 384 KB Correct answer: answer = 758932
63 Correct 2 ms 384 KB Correct answer: answer = 1000000
64 Correct 3 ms 384 KB Correct answer: answer = 750500
65 Correct 2 ms 384 KB Correct answer: answer = 1000000
66 Correct 2 ms 384 KB Correct answer: answer = 250000
67 Correct 2 ms 384 KB Correct answer: answer = 250000
68 Correct 2 ms 384 KB Correct answer: answer = 1000000
69 Correct 3 ms 384 KB Correct answer: answer = 994009
70 Correct 2 ms 384 KB Correct answer: answer = 59315
71 Correct 2 ms 384 KB Correct answer: answer = 25454
72 Correct 2 ms 384 KB Correct answer: answer = 1504
73 Correct 2 ms 384 KB Correct answer: answer = 37486
74 Correct 2 ms 384 KB Correct answer: answer = 4284
75 Correct 2 ms 384 KB Correct answer: answer = 158008
76 Correct 2 ms 384 KB Correct answer: answer = 51860
77 Correct 2 ms 384 KB Correct answer: answer = 12985
78 Correct 3 ms 512 KB Correct answer: answer = 997864126212
79 Correct 3 ms 384 KB Correct answer: answer = 998608411647
80 Correct 4 ms 512 KB Correct answer: answer = 995265560477
81 Correct 7 ms 640 KB Correct answer: answer = 10125000
82 Correct 7 ms 640 KB Correct answer: answer = 2291668
83 Correct 4 ms 512 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 4 ms 512 KB Correct answer: answer = 3416
86 Correct 9 ms 684 KB Correct answer: answer = 331708193881
87 Correct 9 ms 640 KB Correct answer: answer = 2861193756
88 Correct 9 ms 640 KB Correct answer: answer = 114646930
89 Correct 7 ms 640 KB Correct answer: answer = 9280921
90 Correct 7 ms 640 KB Correct answer: answer = 999984053400
91 Correct 9 ms 640 KB Correct answer: answer = 750935949134
92 Correct 3 ms 512 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 512 KB Correct answer: answer = 998762383161
94 Correct 10 ms 640 KB Correct answer: answer = 23017412908
95 Correct 3 ms 512 KB Correct answer: answer = 728143410622
96 Correct 3 ms 512 KB Correct answer: answer = 2
97 Correct 8 ms 768 KB Correct answer: answer = 1824916
98 Correct 7 ms 768 KB Correct answer: answer = 10680029
99 Correct 10 ms 768 KB Correct answer: answer = 18351700
100 Correct 6 ms 640 KB Correct answer: answer = 16040026
101 Correct 4 ms 512 KB Correct answer: answer = 253968628325
102 Correct 5 ms 512 KB Correct answer: answer = 10267
103 Correct 8 ms 768 KB Correct answer: answer = 2582408
104 Correct 4 ms 512 KB Correct answer: answer = 78024964781
105 Correct 3 ms 512 KB Correct answer: answer = 9866346457
106 Correct 4 ms 512 KB Correct answer: answer = 3327720949
107 Correct 4 ms 512 KB Correct answer: answer = 86064128360
108 Correct 5 ms 512 KB Correct answer: answer = 12698259150
109 Correct 7 ms 640 KB Correct answer: answer = 1185259288
110 Correct 21 ms 2428 KB Correct answer: answer = 999889968863
111 Correct 22 ms 2420 KB Correct answer: answer = 999861384931
112 Correct 21 ms 2428 KB Correct answer: answer = 999811809929
113 Correct 21 ms 2428 KB Correct answer: answer = 999869756441
114 Correct 64 ms 4464 KB Correct answer: answer = 1700000000
115 Correct 67 ms 4720 KB Correct answer: answer = 131666670
116 Correct 21 ms 1792 KB Correct answer: answer = 89478486
117 Correct 23 ms 1792 KB Correct answer: answer = 4971040
118 Correct 22 ms 1792 KB Correct answer: answer = 2711494
119 Correct 70 ms 4828 KB Correct answer: answer = 25252530
120 Correct 66 ms 4720 KB Correct answer: answer = 62500000
121 Correct 90 ms 4472 KB Correct answer: answer = 333175097780
122 Correct 95 ms 4464 KB Correct answer: answer = 33121180179
123 Correct 93 ms 4472 KB Correct answer: answer = 9802314015
124 Correct 68 ms 4724 KB Correct answer: answer = 32567551
125 Correct 70 ms 4848 KB Correct answer: answer = 997525000000
126 Correct 87 ms 4336 KB Correct answer: answer = 752723538884
127 Correct 15 ms 2428 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2428 KB Correct answer: answer = 999978000121
129 Correct 21 ms 2476 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1916 KB Correct answer: answer = 2
131 Correct 68 ms 4728 KB Correct answer: answer = 277966670
132 Correct 64 ms 4472 KB Correct answer: answer = 2500900082
133 Correct 28 ms 2540 KB Correct answer: answer = 301248349636
134 Correct 48 ms 2428 KB Correct answer: answer = 14118891
135 Correct 21 ms 2428 KB Correct answer: answer = 14384977265
136 Correct 21 ms 2428 KB Correct answer: answer = 3681368330
137 Correct 21 ms 2428 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Correct answer: answer = 4
2 Correct 2 ms 384 KB Correct answer: answer = 4
3 Correct 2 ms 256 KB Correct answer: answer = 4
4 Correct 2 ms 384 KB Correct answer: answer = 12
5 Correct 2 ms 384 KB Correct answer: answer = 52
6 Correct 2 ms 384 KB Correct answer: answer = 210
7 Correct 2 ms 384 KB Correct answer: answer = 88
8 Correct 2 ms 384 KB Correct answer: answer = 7696
9 Correct 2 ms 384 KB Correct answer: answer = 1
10 Correct 2 ms 384 KB Correct answer: answer = 2374
11 Correct 2 ms 384 KB Correct answer: answer = 9502
12 Correct 3 ms 384 KB Correct answer: answer = 49
13 Correct 7 ms 384 KB Correct answer: answer = 151
14 Correct 2 ms 384 KB Correct answer: answer = 7550
15 Correct 2 ms 384 KB Correct answer: answer = 7220
16 Correct 2 ms 384 KB Correct answer: answer = 7550
17 Correct 2 ms 256 KB Correct answer: answer = 10000
18 Correct 2 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 384 KB Correct answer: answer = 624
20 Correct 2 ms 384 KB Correct answer: answer = 10000
21 Correct 2 ms 256 KB Correct answer: answer = 1
22 Correct 2 ms 384 KB Correct answer: answer = 4
23 Correct 2 ms 384 KB Correct answer: answer = 1
24 Correct 2 ms 384 KB Correct answer: answer = 5
25 Correct 4 ms 384 KB Correct answer: answer = 41
26 Correct 2 ms 384 KB Correct answer: answer = 71923
27 Correct 2 ms 384 KB Correct answer: answer = 77137
28 Correct 2 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 3 ms 384 KB Correct answer: answer = 500
31 Correct 2 ms 384 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 3 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 2 ms 384 KB Correct answer: answer = 796
36 Correct 3 ms 384 KB Correct answer: answer = 7580
37 Correct 3 ms 384 KB Correct answer: answer = 1904
38 Correct 2 ms 384 KB Correct answer: answer = 996004
39 Correct 3 ms 512 KB Correct answer: answer = 38817
40 Correct 2 ms 384 KB Correct answer: answer = 4096
41 Correct 2 ms 384 KB Correct answer: answer = 1
42 Correct 2 ms 384 KB Correct answer: answer = 1
43 Correct 3 ms 384 KB Correct answer: answer = 2040
44 Correct 2 ms 384 KB Correct answer: answer = 2
45 Correct 2 ms 256 KB Correct answer: answer = 4
46 Correct 2 ms 384 KB Correct answer: answer = 9
47 Correct 2 ms 384 KB Correct answer: answer = 9
48 Correct 1 ms 256 KB Correct answer: answer = 21
49 Correct 2 ms 384 KB Correct answer: answer = 71
50 Correct 2 ms 384 KB Correct answer: answer = 77
51 Correct 2 ms 384 KB Correct answer: answer = 400
52 Correct 2 ms 384 KB Correct answer: answer = 996004
53 Correct 2 ms 384 KB Correct answer: answer = 997310
54 Correct 2 ms 384 KB Correct answer: answer = 990781
55 Correct 2 ms 512 KB Correct answer: answer = 996545
56 Correct 2 ms 384 KB Correct answer: answer = 484
57 Correct 2 ms 384 KB Correct answer: answer = 484
58 Correct 2 ms 384 KB Correct answer: answer = 63501
59 Correct 2 ms 384 KB Correct answer: answer = 323501
60 Correct 2 ms 384 KB Correct answer: answer = 752500
61 Correct 2 ms 384 KB Correct answer: answer = 761480
62 Correct 2 ms 384 KB Correct answer: answer = 758932
63 Correct 2 ms 384 KB Correct answer: answer = 1000000
64 Correct 3 ms 384 KB Correct answer: answer = 750500
65 Correct 2 ms 384 KB Correct answer: answer = 1000000
66 Correct 2 ms 384 KB Correct answer: answer = 250000
67 Correct 2 ms 384 KB Correct answer: answer = 250000
68 Correct 2 ms 384 KB Correct answer: answer = 1000000
69 Correct 3 ms 384 KB Correct answer: answer = 994009
70 Correct 2 ms 384 KB Correct answer: answer = 59315
71 Correct 2 ms 384 KB Correct answer: answer = 25454
72 Correct 2 ms 384 KB Correct answer: answer = 1504
73 Correct 2 ms 384 KB Correct answer: answer = 37486
74 Correct 2 ms 384 KB Correct answer: answer = 4284
75 Correct 2 ms 384 KB Correct answer: answer = 158008
76 Correct 2 ms 384 KB Correct answer: answer = 51860
77 Correct 2 ms 384 KB Correct answer: answer = 12985
78 Correct 3 ms 512 KB Correct answer: answer = 997864126212
79 Correct 3 ms 384 KB Correct answer: answer = 998608411647
80 Correct 4 ms 512 KB Correct answer: answer = 995265560477
81 Correct 7 ms 640 KB Correct answer: answer = 10125000
82 Correct 7 ms 640 KB Correct answer: answer = 2291668
83 Correct 4 ms 512 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 4 ms 512 KB Correct answer: answer = 3416
86 Correct 9 ms 684 KB Correct answer: answer = 331708193881
87 Correct 9 ms 640 KB Correct answer: answer = 2861193756
88 Correct 9 ms 640 KB Correct answer: answer = 114646930
89 Correct 7 ms 640 KB Correct answer: answer = 9280921
90 Correct 7 ms 640 KB Correct answer: answer = 999984053400
91 Correct 9 ms 640 KB Correct answer: answer = 750935949134
92 Correct 3 ms 512 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 512 KB Correct answer: answer = 998762383161
94 Correct 10 ms 640 KB Correct answer: answer = 23017412908
95 Correct 3 ms 512 KB Correct answer: answer = 728143410622
96 Correct 3 ms 512 KB Correct answer: answer = 2
97 Correct 8 ms 768 KB Correct answer: answer = 1824916
98 Correct 7 ms 768 KB Correct answer: answer = 10680029
99 Correct 10 ms 768 KB Correct answer: answer = 18351700
100 Correct 6 ms 640 KB Correct answer: answer = 16040026
101 Correct 4 ms 512 KB Correct answer: answer = 253968628325
102 Correct 5 ms 512 KB Correct answer: answer = 10267
103 Correct 8 ms 768 KB Correct answer: answer = 2582408
104 Correct 4 ms 512 KB Correct answer: answer = 78024964781
105 Correct 3 ms 512 KB Correct answer: answer = 9866346457
106 Correct 4 ms 512 KB Correct answer: answer = 3327720949
107 Correct 4 ms 512 KB Correct answer: answer = 86064128360
108 Correct 5 ms 512 KB Correct answer: answer = 12698259150
109 Correct 7 ms 640 KB Correct answer: answer = 1185259288
110 Correct 21 ms 2428 KB Correct answer: answer = 999889968863
111 Correct 22 ms 2420 KB Correct answer: answer = 999861384931
112 Correct 21 ms 2428 KB Correct answer: answer = 999811809929
113 Correct 21 ms 2428 KB Correct answer: answer = 999869756441
114 Correct 64 ms 4464 KB Correct answer: answer = 1700000000
115 Correct 67 ms 4720 KB Correct answer: answer = 131666670
116 Correct 21 ms 1792 KB Correct answer: answer = 89478486
117 Correct 23 ms 1792 KB Correct answer: answer = 4971040
118 Correct 22 ms 1792 KB Correct answer: answer = 2711494
119 Correct 70 ms 4828 KB Correct answer: answer = 25252530
120 Correct 66 ms 4720 KB Correct answer: answer = 62500000
121 Correct 90 ms 4472 KB Correct answer: answer = 333175097780
122 Correct 95 ms 4464 KB Correct answer: answer = 33121180179
123 Correct 93 ms 4472 KB Correct answer: answer = 9802314015
124 Correct 68 ms 4724 KB Correct answer: answer = 32567551
125 Correct 70 ms 4848 KB Correct answer: answer = 997525000000
126 Correct 87 ms 4336 KB Correct answer: answer = 752723538884
127 Correct 15 ms 2428 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2428 KB Correct answer: answer = 999978000121
129 Correct 21 ms 2476 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1916 KB Correct answer: answer = 2
131 Correct 68 ms 4728 KB Correct answer: answer = 277966670
132 Correct 64 ms 4472 KB Correct answer: answer = 2500900082
133 Correct 28 ms 2540 KB Correct answer: answer = 301248349636
134 Correct 48 ms 2428 KB Correct answer: answer = 14118891
135 Correct 21 ms 2428 KB Correct answer: answer = 14384977265
136 Correct 21 ms 2428 KB Correct answer: answer = 3681368330
137 Correct 21 ms 2428 KB Correct answer: answer = 2720316816
138 Correct 39 ms 4464 KB Correct answer: answer = 999976000144
139 Correct 39 ms 4600 KB Correct answer: answer = 999856102410
140 Correct 40 ms 4464 KB Correct answer: answer = 999958401531
141 Correct 42 ms 4464 KB Correct answer: answer = 999769649944
142 Correct 40 ms 4464 KB Correct answer: answer = 999874525918
143 Correct 125 ms 8684 KB Correct answer: answer = 6050000000
144 Correct 144 ms 9196 KB Correct answer: answer = 1112500000
145 Correct 76 ms 5836 KB Correct answer: answer = 4294967296
146 Correct 96 ms 6220 KB Correct answer: answer = 87652406
147 Correct 92 ms 6128 KB Correct answer: answer = 6297664
148 Correct 86 ms 6148 KB Correct answer: answer = 196612
149 Correct 143 ms 9216 KB Correct answer: answer = 15015100
150 Correct 134 ms 9196 KB Correct answer: answer = 25000000
151 Correct 177 ms 8556 KB Correct answer: answer = 333230209550
152 Correct 194 ms 8684 KB Correct answer: answer = 917123769
153 Correct 169 ms 9312 KB Correct answer: answer = 95162
154 Correct 151 ms 9196 KB Correct answer: answer = 382616191
155 Correct 142 ms 9196 KB Correct answer: answer = 990033333400
156 Correct 142 ms 9372 KB Correct answer: answer = 990000100000
157 Correct 167 ms 8556 KB Correct answer: answer = 749998188180
158 Correct 44 ms 4336 KB Correct answer: answer = 1000000000000
159 Correct 39 ms 4464 KB Correct answer: answer = 999988000036
160 Correct 41 ms 4336 KB Correct answer: answer = 744929274393
161 Correct 27 ms 3456 KB Correct answer: answer = 2
162 Correct 135 ms 9196 KB Correct answer: answer = 1300024
163 Correct 128 ms 8684 KB Correct answer: answer = 5000700010
164 Correct 53 ms 4592 KB Correct answer: answer = 354997100800
165 Correct 90 ms 4720 KB Correct answer: answer = 257000
166 Correct 85 ms 4976 KB Correct answer: answer = 3765323
167 Correct 84 ms 4976 KB Correct answer: answer = 1525903
168 Correct 39 ms 4464 KB Correct answer: answer = 67618137730
169 Correct 39 ms 4472 KB Correct answer: answer = 12656680171
170 Correct 43 ms 4464 KB Correct answer: answer = 579831736
171 Correct 80 ms 5484 KB Correct answer: answer = 23605611
172 Correct 43 ms 4464 KB Correct answer: answer = 7052481200
173 Correct 52 ms 4716 KB Correct answer: answer = 1314039500
174 Correct 59 ms 5112 KB Correct answer: answer = 302484000
175 Correct 96 ms 6892 KB Correct answer: answer = 52348480