Submission #732726

# Submission time Handle Problem Language Result Execution time Memory
732726 2023-04-29T08:26:14 Z sentheta Aliens (IOI16_aliens) C++17
100 / 100
232 ms 10272 KB
#include "aliens.h"
// author : sentheta aka vanwij
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<cassert>
#include<random>
#include<chrono>
#include<cmath>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<map>
#include<set>
using namespace std;

#define Int long long
#define V vector
#define pii pair<int,int>
#define ff first
#define ss second

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

#define pow2(x) (1LL<<(x))
#define msb(x) (63-__builtin_clzll(x))
#define bitcnt(x) (__builtin_popcountll(x))

#define nl '\n'
#define _ << ' ' <<
#define all(x) (x).begin(), (x).end()
#define rep(i,a,b) for(int i = (int)(a); i < (int)(b); i++)
#define dbg(x) if(1) cout << "?" << #x << " : " << (x) << endl << flush;
#define cerr if(1) cerr

const Int INF = 1e18;
const Int N = 1e5+5;
// const Int K = 505;
const Int M = 1e6+5;


struct line {
	Int m, c;
	int idx;
	Int eval(Int x) { return m * x + c; }
	Int cut(line l) {
		return (c - l.c) / (l.m - m);
	}
};
struct Cht {
	line s[N];
	int st = 1, ed = 0;

	void upd(line cur) {
		while(ed-st+1>=2 && cur.cut(s[ed])<=s[ed].cut(s[ed-1])) --ed;
		s[++ed] = cur;
	}

	line qry(Int x) {
		while(ed-st+1>=2 && s[st].eval(x) > s[st+1].eval(x)) st++;
		return s[st];
	}
};



Int n, m, k;
V<Int> l, r;

Int dp[N], cnt[N];
inline Int sqr(Int x){return x*x;}

void solve(Int cost){
	Cht cht;

	dp[0] = sqr(r[0]-l[0]+1) +cost;
	cnt[0] = 1;

	rep(i,1,n){
		// dp[i] = sqr(r[i]-l[0]+1) +cost;
		// cnt[i] = 1;

		// rep(j,1,i+1){
		// 	Int x = dp[j-1] +sqr(r[i]-l[j]+1) -(l[j]<=r[j-1] ? sqr(r[j-1]-l[j]+1):0) + cost;
		// 	if(x < dp[i]){
		// 		dp[i] = x;
		// 		cnt[i] = cnt[j-1]+1;
		// 	}
		// 	if(x==dp[i]){
		// 		cnt[i] = min(cnt[i], cnt[j-1]+1);
		// 	}
		// }

		Int m = -2*l[i];
		Int c = l[i]*l[i]-2*l[i] +dp[i-1] -(l[i]<=r[i-1] ? sqr(r[i-1]-l[i]+1):0);

		line cur = {m, c, i};
		cht.upd(cur);

		Int from0 = sqr(r[i]-l[0]+1) +cost;
		Int not0 = r[i]*r[i] +2*r[i] +1 +cht.qry(r[i]).eval(r[i]) +cost;

		if(from0 <= not0){
			dp[i] = from0;
			cnt[i] = 1;
		}
		else{
			dp[i] = not0;
			cnt[i] = cnt[cht.qry(r[i]).idx-1] + 1;
			// cnt[i] = mpcnt[{bm,bc}] + 1;
		}
		// dbg(dp[i]);
		// dbg(cnt[i]);
	}
}


Int take_photos(int _n,int _m,int _k,V<int> _l,V<int> _r){
	n = _n; m = _m; k = _k;
	l = V<Int>(all(_l));
	r = V<Int>(all(_r));

	// remove subsegments
	V<int> ord;
	rep(i,0,n){
		if(l[i] > r[i]) swap(l[i], r[i]);
		ord.push_back(i);
	}
	sort(all(ord),[&](int i,int j){
		if(l[i]==l[j]) return r[i] < r[j];
		return l[i] > l[j];
	});
	V<int> stak;
	for(int i : ord){
		while(!stak.empty() && r[stak.back()]<=r[i]) stak.pop_back();
		stak.push_back(i);
	}
	reverse(all(stak));
	ord.swap(stak);
	// result is ordered from l

	// reorder l[] and r[]
	{
		V<Int> vl, vr;
		for(int i : ord){
			// cerr << l[i] _ r[i] << nl;
			vl.push_back(l[i]);
			vr.push_back(r[i]);
		}
		l.swap(vl);
		r.swap(vr);
	}
	n = ord.size();



	// find minimum cost to make <= k merging
	Int cost = -1;
	for(Int J=1LL<<42; J; J/=2){
	// for(Int J=m*m; J; J/=2) rep(loop,0,2){
	// {
		// check cost+J
		solve(cost+J);

		if(cnt[n-1] > k) cost+=J;
		else ;
	}
	cost++;

	// dbg(k);

	solve(cost-1);
	Int a = dp[n-1], b = cnt[n-1];
	Int ans1 = a - b*(cost-1);
	// dbg(cnt[n-1]);

	solve(cost);
	Int c = dp[n-1], d = cnt[n-1];
	Int ans2 = c - d*cost;
	// dbg(cnt[n-1]);


	if(k>=n) return ans2;
	// linear progression from ans1 to ans2
	Int ans = ans1 + (k-b)*(ans2-ans1)/(d-b);
	
	// dbg(k);
	// dbg(cnt[n-1]);
	// assert(cnt[n-1] <= k);
	// Int ans = dp[n-1] - cnt[n-1]*cost;
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 4
2 Correct 2 ms 2556 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 4
4 Correct 2 ms 2644 KB Correct answer: answer = 12
5 Correct 2 ms 2644 KB Correct answer: answer = 52
6 Correct 2 ms 2644 KB Correct answer: answer = 210
7 Correct 2 ms 2644 KB Correct answer: answer = 88
8 Correct 3 ms 2644 KB Correct answer: answer = 7696
9 Correct 2 ms 2644 KB Correct answer: answer = 1
10 Correct 2 ms 2644 KB Correct answer: answer = 2374
11 Correct 2 ms 2644 KB Correct answer: answer = 9502
12 Correct 2 ms 2644 KB Correct answer: answer = 49
13 Correct 2 ms 2644 KB Correct answer: answer = 151
14 Correct 2 ms 2644 KB Correct answer: answer = 7550
15 Correct 2 ms 2644 KB Correct answer: answer = 7220
16 Correct 2 ms 2644 KB Correct answer: answer = 7550
17 Correct 2 ms 2644 KB Correct answer: answer = 10000
18 Correct 2 ms 2644 KB Correct answer: answer = 10000
19 Correct 2 ms 2644 KB Correct answer: answer = 624
20 Correct 2 ms 2644 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 1
2 Correct 2 ms 2644 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 1
4 Correct 2 ms 2644 KB Correct answer: answer = 5
5 Correct 2 ms 2644 KB Correct answer: answer = 41
6 Correct 2 ms 2644 KB Correct answer: answer = 71923
7 Correct 3 ms 2644 KB Correct answer: answer = 77137
8 Correct 3 ms 2644 KB Correct answer: answer = 764
9 Correct 2 ms 2644 KB Correct answer: answer = 250000
10 Correct 3 ms 2644 KB Correct answer: answer = 500
11 Correct 2 ms 2644 KB Correct answer: answer = 32
12 Correct 3 ms 2644 KB Correct answer: answer = 130050
13 Correct 2 ms 2644 KB Correct answer: answer = 5110
14 Correct 2 ms 2644 KB Correct answer: answer = 2626
15 Correct 2 ms 2644 KB Correct answer: answer = 796
16 Correct 3 ms 2644 KB Correct answer: answer = 7580
17 Correct 2 ms 2644 KB Correct answer: answer = 1904
18 Correct 2 ms 2644 KB Correct answer: answer = 996004
19 Correct 2 ms 2644 KB Correct answer: answer = 38817
20 Correct 3 ms 2644 KB Correct answer: answer = 4096
21 Correct 2 ms 2644 KB Correct answer: answer = 1
22 Correct 2 ms 2644 KB Correct answer: answer = 1
23 Correct 3 ms 2644 KB Correct answer: answer = 2040
24 Correct 2 ms 2644 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 4
2 Correct 2 ms 2556 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 4
4 Correct 2 ms 2644 KB Correct answer: answer = 12
5 Correct 2 ms 2644 KB Correct answer: answer = 52
6 Correct 2 ms 2644 KB Correct answer: answer = 210
7 Correct 2 ms 2644 KB Correct answer: answer = 88
8 Correct 3 ms 2644 KB Correct answer: answer = 7696
9 Correct 2 ms 2644 KB Correct answer: answer = 1
10 Correct 2 ms 2644 KB Correct answer: answer = 2374
11 Correct 2 ms 2644 KB Correct answer: answer = 9502
12 Correct 2 ms 2644 KB Correct answer: answer = 49
13 Correct 2 ms 2644 KB Correct answer: answer = 151
14 Correct 2 ms 2644 KB Correct answer: answer = 7550
15 Correct 2 ms 2644 KB Correct answer: answer = 7220
16 Correct 2 ms 2644 KB Correct answer: answer = 7550
17 Correct 2 ms 2644 KB Correct answer: answer = 10000
18 Correct 2 ms 2644 KB Correct answer: answer = 10000
19 Correct 2 ms 2644 KB Correct answer: answer = 624
20 Correct 2 ms 2644 KB Correct answer: answer = 10000
21 Correct 2 ms 2644 KB Correct answer: answer = 1
22 Correct 2 ms 2644 KB Correct answer: answer = 4
23 Correct 2 ms 2644 KB Correct answer: answer = 1
24 Correct 2 ms 2644 KB Correct answer: answer = 5
25 Correct 2 ms 2644 KB Correct answer: answer = 41
26 Correct 2 ms 2644 KB Correct answer: answer = 71923
27 Correct 3 ms 2644 KB Correct answer: answer = 77137
28 Correct 3 ms 2644 KB Correct answer: answer = 764
29 Correct 2 ms 2644 KB Correct answer: answer = 250000
30 Correct 3 ms 2644 KB Correct answer: answer = 500
31 Correct 2 ms 2644 KB Correct answer: answer = 32
32 Correct 3 ms 2644 KB Correct answer: answer = 130050
33 Correct 2 ms 2644 KB Correct answer: answer = 5110
34 Correct 2 ms 2644 KB Correct answer: answer = 2626
35 Correct 2 ms 2644 KB Correct answer: answer = 796
36 Correct 3 ms 2644 KB Correct answer: answer = 7580
37 Correct 2 ms 2644 KB Correct answer: answer = 1904
38 Correct 2 ms 2644 KB Correct answer: answer = 996004
39 Correct 2 ms 2644 KB Correct answer: answer = 38817
40 Correct 3 ms 2644 KB Correct answer: answer = 4096
41 Correct 2 ms 2644 KB Correct answer: answer = 1
42 Correct 2 ms 2644 KB Correct answer: answer = 1
43 Correct 3 ms 2644 KB Correct answer: answer = 2040
44 Correct 2 ms 2644 KB Correct answer: answer = 2
45 Correct 2 ms 2644 KB Correct answer: answer = 4
46 Correct 2 ms 2644 KB Correct answer: answer = 9
47 Correct 2 ms 2644 KB Correct answer: answer = 9
48 Correct 2 ms 2608 KB Correct answer: answer = 21
49 Correct 3 ms 2644 KB Correct answer: answer = 71
50 Correct 3 ms 2644 KB Correct answer: answer = 77
51 Correct 2 ms 2644 KB Correct answer: answer = 400
52 Correct 2 ms 2644 KB Correct answer: answer = 996004
53 Correct 2 ms 2644 KB Correct answer: answer = 997310
54 Correct 2 ms 2644 KB Correct answer: answer = 990781
55 Correct 2 ms 2644 KB Correct answer: answer = 996545
56 Correct 2 ms 2656 KB Correct answer: answer = 484
57 Correct 2 ms 2644 KB Correct answer: answer = 484
58 Correct 2 ms 2644 KB Correct answer: answer = 63501
59 Correct 2 ms 2644 KB Correct answer: answer = 323501
60 Correct 2 ms 2644 KB Correct answer: answer = 752500
61 Correct 3 ms 2644 KB Correct answer: answer = 761480
62 Correct 3 ms 2644 KB Correct answer: answer = 758932
63 Correct 2 ms 2644 KB Correct answer: answer = 1000000
64 Correct 3 ms 2644 KB Correct answer: answer = 750500
65 Correct 3 ms 2644 KB Correct answer: answer = 1000000
66 Correct 2 ms 2644 KB Correct answer: answer = 250000
67 Correct 3 ms 2644 KB Correct answer: answer = 250000
68 Correct 3 ms 2644 KB Correct answer: answer = 1000000
69 Correct 2 ms 2644 KB Correct answer: answer = 994009
70 Correct 3 ms 2752 KB Correct answer: answer = 59315
71 Correct 2 ms 2644 KB Correct answer: answer = 25454
72 Correct 2 ms 2644 KB Correct answer: answer = 1504
73 Correct 2 ms 2644 KB Correct answer: answer = 37486
74 Correct 2 ms 2644 KB Correct answer: answer = 4284
75 Correct 2 ms 2644 KB Correct answer: answer = 158008
76 Correct 3 ms 2644 KB Correct answer: answer = 51860
77 Correct 2 ms 2644 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 4
2 Correct 2 ms 2556 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 4
4 Correct 2 ms 2644 KB Correct answer: answer = 12
5 Correct 2 ms 2644 KB Correct answer: answer = 52
6 Correct 2 ms 2644 KB Correct answer: answer = 210
7 Correct 2 ms 2644 KB Correct answer: answer = 88
8 Correct 3 ms 2644 KB Correct answer: answer = 7696
9 Correct 2 ms 2644 KB Correct answer: answer = 1
10 Correct 2 ms 2644 KB Correct answer: answer = 2374
11 Correct 2 ms 2644 KB Correct answer: answer = 9502
12 Correct 2 ms 2644 KB Correct answer: answer = 49
13 Correct 2 ms 2644 KB Correct answer: answer = 151
14 Correct 2 ms 2644 KB Correct answer: answer = 7550
15 Correct 2 ms 2644 KB Correct answer: answer = 7220
16 Correct 2 ms 2644 KB Correct answer: answer = 7550
17 Correct 2 ms 2644 KB Correct answer: answer = 10000
18 Correct 2 ms 2644 KB Correct answer: answer = 10000
19 Correct 2 ms 2644 KB Correct answer: answer = 624
20 Correct 2 ms 2644 KB Correct answer: answer = 10000
21 Correct 2 ms 2644 KB Correct answer: answer = 1
22 Correct 2 ms 2644 KB Correct answer: answer = 4
23 Correct 2 ms 2644 KB Correct answer: answer = 1
24 Correct 2 ms 2644 KB Correct answer: answer = 5
25 Correct 2 ms 2644 KB Correct answer: answer = 41
26 Correct 2 ms 2644 KB Correct answer: answer = 71923
27 Correct 3 ms 2644 KB Correct answer: answer = 77137
28 Correct 3 ms 2644 KB Correct answer: answer = 764
29 Correct 2 ms 2644 KB Correct answer: answer = 250000
30 Correct 3 ms 2644 KB Correct answer: answer = 500
31 Correct 2 ms 2644 KB Correct answer: answer = 32
32 Correct 3 ms 2644 KB Correct answer: answer = 130050
33 Correct 2 ms 2644 KB Correct answer: answer = 5110
34 Correct 2 ms 2644 KB Correct answer: answer = 2626
35 Correct 2 ms 2644 KB Correct answer: answer = 796
36 Correct 3 ms 2644 KB Correct answer: answer = 7580
37 Correct 2 ms 2644 KB Correct answer: answer = 1904
38 Correct 2 ms 2644 KB Correct answer: answer = 996004
39 Correct 2 ms 2644 KB Correct answer: answer = 38817
40 Correct 3 ms 2644 KB Correct answer: answer = 4096
41 Correct 2 ms 2644 KB Correct answer: answer = 1
42 Correct 2 ms 2644 KB Correct answer: answer = 1
43 Correct 3 ms 2644 KB Correct answer: answer = 2040
44 Correct 2 ms 2644 KB Correct answer: answer = 2
45 Correct 2 ms 2644 KB Correct answer: answer = 4
46 Correct 2 ms 2644 KB Correct answer: answer = 9
47 Correct 2 ms 2644 KB Correct answer: answer = 9
48 Correct 2 ms 2608 KB Correct answer: answer = 21
49 Correct 3 ms 2644 KB Correct answer: answer = 71
50 Correct 3 ms 2644 KB Correct answer: answer = 77
51 Correct 2 ms 2644 KB Correct answer: answer = 400
52 Correct 2 ms 2644 KB Correct answer: answer = 996004
53 Correct 2 ms 2644 KB Correct answer: answer = 997310
54 Correct 2 ms 2644 KB Correct answer: answer = 990781
55 Correct 2 ms 2644 KB Correct answer: answer = 996545
56 Correct 2 ms 2656 KB Correct answer: answer = 484
57 Correct 2 ms 2644 KB Correct answer: answer = 484
58 Correct 2 ms 2644 KB Correct answer: answer = 63501
59 Correct 2 ms 2644 KB Correct answer: answer = 323501
60 Correct 2 ms 2644 KB Correct answer: answer = 752500
61 Correct 3 ms 2644 KB Correct answer: answer = 761480
62 Correct 3 ms 2644 KB Correct answer: answer = 758932
63 Correct 2 ms 2644 KB Correct answer: answer = 1000000
64 Correct 3 ms 2644 KB Correct answer: answer = 750500
65 Correct 3 ms 2644 KB Correct answer: answer = 1000000
66 Correct 2 ms 2644 KB Correct answer: answer = 250000
67 Correct 3 ms 2644 KB Correct answer: answer = 250000
68 Correct 3 ms 2644 KB Correct answer: answer = 1000000
69 Correct 2 ms 2644 KB Correct answer: answer = 994009
70 Correct 3 ms 2752 KB Correct answer: answer = 59315
71 Correct 2 ms 2644 KB Correct answer: answer = 25454
72 Correct 2 ms 2644 KB Correct answer: answer = 1504
73 Correct 2 ms 2644 KB Correct answer: answer = 37486
74 Correct 2 ms 2644 KB Correct answer: answer = 4284
75 Correct 2 ms 2644 KB Correct answer: answer = 158008
76 Correct 3 ms 2644 KB Correct answer: answer = 51860
77 Correct 2 ms 2644 KB Correct answer: answer = 12985
78 Correct 3 ms 2772 KB Correct answer: answer = 997864126212
79 Correct 3 ms 2772 KB Correct answer: answer = 998608411647
80 Correct 3 ms 2772 KB Correct answer: answer = 995265560477
81 Correct 7 ms 2900 KB Correct answer: answer = 10125000
82 Correct 6 ms 2900 KB Correct answer: answer = 2291668
83 Correct 4 ms 2816 KB Correct answer: answer = 42388
84 Correct 4 ms 2716 KB Correct answer: answer = 10318
85 Correct 3 ms 2772 KB Correct answer: answer = 3416
86 Correct 10 ms 2900 KB Correct answer: answer = 331708193881
87 Correct 10 ms 2900 KB Correct answer: answer = 2861193756
88 Correct 9 ms 2900 KB Correct answer: answer = 114646930
89 Correct 9 ms 2900 KB Correct answer: answer = 9280921
90 Correct 7 ms 2976 KB Correct answer: answer = 999984053400
91 Correct 9 ms 2976 KB Correct answer: answer = 750935949134
92 Correct 3 ms 2764 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 2772 KB Correct answer: answer = 998762383161
94 Correct 10 ms 2968 KB Correct answer: answer = 23017412908
95 Correct 3 ms 2772 KB Correct answer: answer = 728143410622
96 Correct 3 ms 2772 KB Correct answer: answer = 2
97 Correct 6 ms 2900 KB Correct answer: answer = 1824916
98 Correct 8 ms 2996 KB Correct answer: answer = 10680029
99 Correct 8 ms 2900 KB Correct answer: answer = 18351700
100 Correct 6 ms 2900 KB Correct answer: answer = 16040026
101 Correct 4 ms 2772 KB Correct answer: answer = 253968628325
102 Correct 4 ms 2772 KB Correct answer: answer = 10267
103 Correct 7 ms 2900 KB Correct answer: answer = 2582408
104 Correct 3 ms 2772 KB Correct answer: answer = 78024964781
105 Correct 3 ms 2772 KB Correct answer: answer = 9866346457
106 Correct 3 ms 2772 KB Correct answer: answer = 3327720949
107 Correct 4 ms 2772 KB Correct answer: answer = 86064128360
108 Correct 5 ms 2772 KB Correct answer: answer = 12698259150
109 Correct 7 ms 2956 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 4
2 Correct 2 ms 2556 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 4
4 Correct 2 ms 2644 KB Correct answer: answer = 12
5 Correct 2 ms 2644 KB Correct answer: answer = 52
6 Correct 2 ms 2644 KB Correct answer: answer = 210
7 Correct 2 ms 2644 KB Correct answer: answer = 88
8 Correct 3 ms 2644 KB Correct answer: answer = 7696
9 Correct 2 ms 2644 KB Correct answer: answer = 1
10 Correct 2 ms 2644 KB Correct answer: answer = 2374
11 Correct 2 ms 2644 KB Correct answer: answer = 9502
12 Correct 2 ms 2644 KB Correct answer: answer = 49
13 Correct 2 ms 2644 KB Correct answer: answer = 151
14 Correct 2 ms 2644 KB Correct answer: answer = 7550
15 Correct 2 ms 2644 KB Correct answer: answer = 7220
16 Correct 2 ms 2644 KB Correct answer: answer = 7550
17 Correct 2 ms 2644 KB Correct answer: answer = 10000
18 Correct 2 ms 2644 KB Correct answer: answer = 10000
19 Correct 2 ms 2644 KB Correct answer: answer = 624
20 Correct 2 ms 2644 KB Correct answer: answer = 10000
21 Correct 2 ms 2644 KB Correct answer: answer = 1
22 Correct 2 ms 2644 KB Correct answer: answer = 4
23 Correct 2 ms 2644 KB Correct answer: answer = 1
24 Correct 2 ms 2644 KB Correct answer: answer = 5
25 Correct 2 ms 2644 KB Correct answer: answer = 41
26 Correct 2 ms 2644 KB Correct answer: answer = 71923
27 Correct 3 ms 2644 KB Correct answer: answer = 77137
28 Correct 3 ms 2644 KB Correct answer: answer = 764
29 Correct 2 ms 2644 KB Correct answer: answer = 250000
30 Correct 3 ms 2644 KB Correct answer: answer = 500
31 Correct 2 ms 2644 KB Correct answer: answer = 32
32 Correct 3 ms 2644 KB Correct answer: answer = 130050
33 Correct 2 ms 2644 KB Correct answer: answer = 5110
34 Correct 2 ms 2644 KB Correct answer: answer = 2626
35 Correct 2 ms 2644 KB Correct answer: answer = 796
36 Correct 3 ms 2644 KB Correct answer: answer = 7580
37 Correct 2 ms 2644 KB Correct answer: answer = 1904
38 Correct 2 ms 2644 KB Correct answer: answer = 996004
39 Correct 2 ms 2644 KB Correct answer: answer = 38817
40 Correct 3 ms 2644 KB Correct answer: answer = 4096
41 Correct 2 ms 2644 KB Correct answer: answer = 1
42 Correct 2 ms 2644 KB Correct answer: answer = 1
43 Correct 3 ms 2644 KB Correct answer: answer = 2040
44 Correct 2 ms 2644 KB Correct answer: answer = 2
45 Correct 2 ms 2644 KB Correct answer: answer = 4
46 Correct 2 ms 2644 KB Correct answer: answer = 9
47 Correct 2 ms 2644 KB Correct answer: answer = 9
48 Correct 2 ms 2608 KB Correct answer: answer = 21
49 Correct 3 ms 2644 KB Correct answer: answer = 71
50 Correct 3 ms 2644 KB Correct answer: answer = 77
51 Correct 2 ms 2644 KB Correct answer: answer = 400
52 Correct 2 ms 2644 KB Correct answer: answer = 996004
53 Correct 2 ms 2644 KB Correct answer: answer = 997310
54 Correct 2 ms 2644 KB Correct answer: answer = 990781
55 Correct 2 ms 2644 KB Correct answer: answer = 996545
56 Correct 2 ms 2656 KB Correct answer: answer = 484
57 Correct 2 ms 2644 KB Correct answer: answer = 484
58 Correct 2 ms 2644 KB Correct answer: answer = 63501
59 Correct 2 ms 2644 KB Correct answer: answer = 323501
60 Correct 2 ms 2644 KB Correct answer: answer = 752500
61 Correct 3 ms 2644 KB Correct answer: answer = 761480
62 Correct 3 ms 2644 KB Correct answer: answer = 758932
63 Correct 2 ms 2644 KB Correct answer: answer = 1000000
64 Correct 3 ms 2644 KB Correct answer: answer = 750500
65 Correct 3 ms 2644 KB Correct answer: answer = 1000000
66 Correct 2 ms 2644 KB Correct answer: answer = 250000
67 Correct 3 ms 2644 KB Correct answer: answer = 250000
68 Correct 3 ms 2644 KB Correct answer: answer = 1000000
69 Correct 2 ms 2644 KB Correct answer: answer = 994009
70 Correct 3 ms 2752 KB Correct answer: answer = 59315
71 Correct 2 ms 2644 KB Correct answer: answer = 25454
72 Correct 2 ms 2644 KB Correct answer: answer = 1504
73 Correct 2 ms 2644 KB Correct answer: answer = 37486
74 Correct 2 ms 2644 KB Correct answer: answer = 4284
75 Correct 2 ms 2644 KB Correct answer: answer = 158008
76 Correct 3 ms 2644 KB Correct answer: answer = 51860
77 Correct 2 ms 2644 KB Correct answer: answer = 12985
78 Correct 3 ms 2772 KB Correct answer: answer = 997864126212
79 Correct 3 ms 2772 KB Correct answer: answer = 998608411647
80 Correct 3 ms 2772 KB Correct answer: answer = 995265560477
81 Correct 7 ms 2900 KB Correct answer: answer = 10125000
82 Correct 6 ms 2900 KB Correct answer: answer = 2291668
83 Correct 4 ms 2816 KB Correct answer: answer = 42388
84 Correct 4 ms 2716 KB Correct answer: answer = 10318
85 Correct 3 ms 2772 KB Correct answer: answer = 3416
86 Correct 10 ms 2900 KB Correct answer: answer = 331708193881
87 Correct 10 ms 2900 KB Correct answer: answer = 2861193756
88 Correct 9 ms 2900 KB Correct answer: answer = 114646930
89 Correct 9 ms 2900 KB Correct answer: answer = 9280921
90 Correct 7 ms 2976 KB Correct answer: answer = 999984053400
91 Correct 9 ms 2976 KB Correct answer: answer = 750935949134
92 Correct 3 ms 2764 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 2772 KB Correct answer: answer = 998762383161
94 Correct 10 ms 2968 KB Correct answer: answer = 23017412908
95 Correct 3 ms 2772 KB Correct answer: answer = 728143410622
96 Correct 3 ms 2772 KB Correct answer: answer = 2
97 Correct 6 ms 2900 KB Correct answer: answer = 1824916
98 Correct 8 ms 2996 KB Correct answer: answer = 10680029
99 Correct 8 ms 2900 KB Correct answer: answer = 18351700
100 Correct 6 ms 2900 KB Correct answer: answer = 16040026
101 Correct 4 ms 2772 KB Correct answer: answer = 253968628325
102 Correct 4 ms 2772 KB Correct answer: answer = 10267
103 Correct 7 ms 2900 KB Correct answer: answer = 2582408
104 Correct 3 ms 2772 KB Correct answer: answer = 78024964781
105 Correct 3 ms 2772 KB Correct answer: answer = 9866346457
106 Correct 3 ms 2772 KB Correct answer: answer = 3327720949
107 Correct 4 ms 2772 KB Correct answer: answer = 86064128360
108 Correct 5 ms 2772 KB Correct answer: answer = 12698259150
109 Correct 7 ms 2956 KB Correct answer: answer = 1185259288
110 Correct 18 ms 3648 KB Correct answer: answer = 999889968863
111 Correct 17 ms 3764 KB Correct answer: answer = 999861384931
112 Correct 17 ms 3648 KB Correct answer: answer = 999811809929
113 Correct 19 ms 3776 KB Correct answer: answer = 999869756441
114 Correct 62 ms 5600 KB Correct answer: answer = 1700000000
115 Correct 61 ms 5564 KB Correct answer: answer = 131666670
116 Correct 18 ms 3792 KB Correct answer: answer = 89478486
117 Correct 20 ms 3884 KB Correct answer: answer = 4971040
118 Correct 17 ms 3896 KB Correct answer: answer = 2711494
119 Correct 58 ms 5556 KB Correct answer: answer = 25252530
120 Correct 56 ms 5600 KB Correct answer: answer = 62500000
121 Correct 102 ms 6280 KB Correct answer: answer = 333175097780
122 Correct 105 ms 6332 KB Correct answer: answer = 33121180179
123 Correct 109 ms 6292 KB Correct answer: answer = 9802314015
124 Correct 76 ms 6224 KB Correct answer: answer = 32567551
125 Correct 62 ms 6196 KB Correct answer: answer = 997525000000
126 Correct 98 ms 6168 KB Correct answer: answer = 752723538884
127 Correct 12 ms 4380 KB Correct answer: answer = 1000000000000
128 Correct 19 ms 4404 KB Correct answer: answer = 999978000121
129 Correct 22 ms 4376 KB Correct answer: answer = 745986144735
130 Correct 13 ms 3904 KB Correct answer: answer = 2
131 Correct 58 ms 6228 KB Correct answer: answer = 277966670
132 Correct 54 ms 6112 KB Correct answer: answer = 2500900082
133 Correct 28 ms 4536 KB Correct answer: answer = 301248349636
134 Correct 37 ms 4412 KB Correct answer: answer = 14118891
135 Correct 20 ms 4376 KB Correct answer: answer = 14384977265
136 Correct 28 ms 4408 KB Correct answer: answer = 3681368330
137 Correct 21 ms 4424 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Correct answer: answer = 4
2 Correct 2 ms 2556 KB Correct answer: answer = 4
3 Correct 2 ms 2644 KB Correct answer: answer = 4
4 Correct 2 ms 2644 KB Correct answer: answer = 12
5 Correct 2 ms 2644 KB Correct answer: answer = 52
6 Correct 2 ms 2644 KB Correct answer: answer = 210
7 Correct 2 ms 2644 KB Correct answer: answer = 88
8 Correct 3 ms 2644 KB Correct answer: answer = 7696
9 Correct 2 ms 2644 KB Correct answer: answer = 1
10 Correct 2 ms 2644 KB Correct answer: answer = 2374
11 Correct 2 ms 2644 KB Correct answer: answer = 9502
12 Correct 2 ms 2644 KB Correct answer: answer = 49
13 Correct 2 ms 2644 KB Correct answer: answer = 151
14 Correct 2 ms 2644 KB Correct answer: answer = 7550
15 Correct 2 ms 2644 KB Correct answer: answer = 7220
16 Correct 2 ms 2644 KB Correct answer: answer = 7550
17 Correct 2 ms 2644 KB Correct answer: answer = 10000
18 Correct 2 ms 2644 KB Correct answer: answer = 10000
19 Correct 2 ms 2644 KB Correct answer: answer = 624
20 Correct 2 ms 2644 KB Correct answer: answer = 10000
21 Correct 2 ms 2644 KB Correct answer: answer = 1
22 Correct 2 ms 2644 KB Correct answer: answer = 4
23 Correct 2 ms 2644 KB Correct answer: answer = 1
24 Correct 2 ms 2644 KB Correct answer: answer = 5
25 Correct 2 ms 2644 KB Correct answer: answer = 41
26 Correct 2 ms 2644 KB Correct answer: answer = 71923
27 Correct 3 ms 2644 KB Correct answer: answer = 77137
28 Correct 3 ms 2644 KB Correct answer: answer = 764
29 Correct 2 ms 2644 KB Correct answer: answer = 250000
30 Correct 3 ms 2644 KB Correct answer: answer = 500
31 Correct 2 ms 2644 KB Correct answer: answer = 32
32 Correct 3 ms 2644 KB Correct answer: answer = 130050
33 Correct 2 ms 2644 KB Correct answer: answer = 5110
34 Correct 2 ms 2644 KB Correct answer: answer = 2626
35 Correct 2 ms 2644 KB Correct answer: answer = 796
36 Correct 3 ms 2644 KB Correct answer: answer = 7580
37 Correct 2 ms 2644 KB Correct answer: answer = 1904
38 Correct 2 ms 2644 KB Correct answer: answer = 996004
39 Correct 2 ms 2644 KB Correct answer: answer = 38817
40 Correct 3 ms 2644 KB Correct answer: answer = 4096
41 Correct 2 ms 2644 KB Correct answer: answer = 1
42 Correct 2 ms 2644 KB Correct answer: answer = 1
43 Correct 3 ms 2644 KB Correct answer: answer = 2040
44 Correct 2 ms 2644 KB Correct answer: answer = 2
45 Correct 2 ms 2644 KB Correct answer: answer = 4
46 Correct 2 ms 2644 KB Correct answer: answer = 9
47 Correct 2 ms 2644 KB Correct answer: answer = 9
48 Correct 2 ms 2608 KB Correct answer: answer = 21
49 Correct 3 ms 2644 KB Correct answer: answer = 71
50 Correct 3 ms 2644 KB Correct answer: answer = 77
51 Correct 2 ms 2644 KB Correct answer: answer = 400
52 Correct 2 ms 2644 KB Correct answer: answer = 996004
53 Correct 2 ms 2644 KB Correct answer: answer = 997310
54 Correct 2 ms 2644 KB Correct answer: answer = 990781
55 Correct 2 ms 2644 KB Correct answer: answer = 996545
56 Correct 2 ms 2656 KB Correct answer: answer = 484
57 Correct 2 ms 2644 KB Correct answer: answer = 484
58 Correct 2 ms 2644 KB Correct answer: answer = 63501
59 Correct 2 ms 2644 KB Correct answer: answer = 323501
60 Correct 2 ms 2644 KB Correct answer: answer = 752500
61 Correct 3 ms 2644 KB Correct answer: answer = 761480
62 Correct 3 ms 2644 KB Correct answer: answer = 758932
63 Correct 2 ms 2644 KB Correct answer: answer = 1000000
64 Correct 3 ms 2644 KB Correct answer: answer = 750500
65 Correct 3 ms 2644 KB Correct answer: answer = 1000000
66 Correct 2 ms 2644 KB Correct answer: answer = 250000
67 Correct 3 ms 2644 KB Correct answer: answer = 250000
68 Correct 3 ms 2644 KB Correct answer: answer = 1000000
69 Correct 2 ms 2644 KB Correct answer: answer = 994009
70 Correct 3 ms 2752 KB Correct answer: answer = 59315
71 Correct 2 ms 2644 KB Correct answer: answer = 25454
72 Correct 2 ms 2644 KB Correct answer: answer = 1504
73 Correct 2 ms 2644 KB Correct answer: answer = 37486
74 Correct 2 ms 2644 KB Correct answer: answer = 4284
75 Correct 2 ms 2644 KB Correct answer: answer = 158008
76 Correct 3 ms 2644 KB Correct answer: answer = 51860
77 Correct 2 ms 2644 KB Correct answer: answer = 12985
78 Correct 3 ms 2772 KB Correct answer: answer = 997864126212
79 Correct 3 ms 2772 KB Correct answer: answer = 998608411647
80 Correct 3 ms 2772 KB Correct answer: answer = 995265560477
81 Correct 7 ms 2900 KB Correct answer: answer = 10125000
82 Correct 6 ms 2900 KB Correct answer: answer = 2291668
83 Correct 4 ms 2816 KB Correct answer: answer = 42388
84 Correct 4 ms 2716 KB Correct answer: answer = 10318
85 Correct 3 ms 2772 KB Correct answer: answer = 3416
86 Correct 10 ms 2900 KB Correct answer: answer = 331708193881
87 Correct 10 ms 2900 KB Correct answer: answer = 2861193756
88 Correct 9 ms 2900 KB Correct answer: answer = 114646930
89 Correct 9 ms 2900 KB Correct answer: answer = 9280921
90 Correct 7 ms 2976 KB Correct answer: answer = 999984053400
91 Correct 9 ms 2976 KB Correct answer: answer = 750935949134
92 Correct 3 ms 2764 KB Correct answer: answer = 1000000000000
93 Correct 3 ms 2772 KB Correct answer: answer = 998762383161
94 Correct 10 ms 2968 KB Correct answer: answer = 23017412908
95 Correct 3 ms 2772 KB Correct answer: answer = 728143410622
96 Correct 3 ms 2772 KB Correct answer: answer = 2
97 Correct 6 ms 2900 KB Correct answer: answer = 1824916
98 Correct 8 ms 2996 KB Correct answer: answer = 10680029
99 Correct 8 ms 2900 KB Correct answer: answer = 18351700
100 Correct 6 ms 2900 KB Correct answer: answer = 16040026
101 Correct 4 ms 2772 KB Correct answer: answer = 253968628325
102 Correct 4 ms 2772 KB Correct answer: answer = 10267
103 Correct 7 ms 2900 KB Correct answer: answer = 2582408
104 Correct 3 ms 2772 KB Correct answer: answer = 78024964781
105 Correct 3 ms 2772 KB Correct answer: answer = 9866346457
106 Correct 3 ms 2772 KB Correct answer: answer = 3327720949
107 Correct 4 ms 2772 KB Correct answer: answer = 86064128360
108 Correct 5 ms 2772 KB Correct answer: answer = 12698259150
109 Correct 7 ms 2956 KB Correct answer: answer = 1185259288
110 Correct 18 ms 3648 KB Correct answer: answer = 999889968863
111 Correct 17 ms 3764 KB Correct answer: answer = 999861384931
112 Correct 17 ms 3648 KB Correct answer: answer = 999811809929
113 Correct 19 ms 3776 KB Correct answer: answer = 999869756441
114 Correct 62 ms 5600 KB Correct answer: answer = 1700000000
115 Correct 61 ms 5564 KB Correct answer: answer = 131666670
116 Correct 18 ms 3792 KB Correct answer: answer = 89478486
117 Correct 20 ms 3884 KB Correct answer: answer = 4971040
118 Correct 17 ms 3896 KB Correct answer: answer = 2711494
119 Correct 58 ms 5556 KB Correct answer: answer = 25252530
120 Correct 56 ms 5600 KB Correct answer: answer = 62500000
121 Correct 102 ms 6280 KB Correct answer: answer = 333175097780
122 Correct 105 ms 6332 KB Correct answer: answer = 33121180179
123 Correct 109 ms 6292 KB Correct answer: answer = 9802314015
124 Correct 76 ms 6224 KB Correct answer: answer = 32567551
125 Correct 62 ms 6196 KB Correct answer: answer = 997525000000
126 Correct 98 ms 6168 KB Correct answer: answer = 752723538884
127 Correct 12 ms 4380 KB Correct answer: answer = 1000000000000
128 Correct 19 ms 4404 KB Correct answer: answer = 999978000121
129 Correct 22 ms 4376 KB Correct answer: answer = 745986144735
130 Correct 13 ms 3904 KB Correct answer: answer = 2
131 Correct 58 ms 6228 KB Correct answer: answer = 277966670
132 Correct 54 ms 6112 KB Correct answer: answer = 2500900082
133 Correct 28 ms 4536 KB Correct answer: answer = 301248349636
134 Correct 37 ms 4412 KB Correct answer: answer = 14118891
135 Correct 20 ms 4376 KB Correct answer: answer = 14384977265
136 Correct 28 ms 4408 KB Correct answer: answer = 3681368330
137 Correct 21 ms 4424 KB Correct answer: answer = 2720316816
138 Correct 37 ms 5416 KB Correct answer: answer = 999976000144
139 Correct 37 ms 5428 KB Correct answer: answer = 999856102410
140 Correct 40 ms 5468 KB Correct answer: answer = 999958401531
141 Correct 42 ms 5468 KB Correct answer: answer = 999769649944
142 Correct 41 ms 5540 KB Correct answer: answer = 999874525918
143 Correct 135 ms 9816 KB Correct answer: answer = 6050000000
144 Correct 117 ms 10128 KB Correct answer: answer = 1112500000
145 Correct 62 ms 7164 KB Correct answer: answer = 4294967296
146 Correct 75 ms 7272 KB Correct answer: answer = 87652406
147 Correct 78 ms 7272 KB Correct answer: answer = 6297664
148 Correct 79 ms 7276 KB Correct answer: answer = 196612
149 Correct 117 ms 10144 KB Correct answer: answer = 15015100
150 Correct 103 ms 10248 KB Correct answer: answer = 25000000
151 Correct 213 ms 10240 KB Correct answer: answer = 333230209550
152 Correct 232 ms 10180 KB Correct answer: answer = 917123769
153 Correct 177 ms 10272 KB Correct answer: answer = 95162
154 Correct 112 ms 10148 KB Correct answer: answer = 382616191
155 Correct 111 ms 10124 KB Correct answer: answer = 990033333400
156 Correct 171 ms 10124 KB Correct answer: answer = 990000100000
157 Correct 177 ms 9616 KB Correct answer: answer = 749998188180
158 Correct 25 ms 5896 KB Correct answer: answer = 1000000000000
159 Correct 37 ms 6044 KB Correct answer: answer = 999988000036
160 Correct 45 ms 6052 KB Correct answer: answer = 744929274393
161 Correct 20 ms 5140 KB Correct answer: answer = 2
162 Correct 111 ms 10272 KB Correct answer: answer = 1300024
163 Correct 127 ms 10148 KB Correct answer: answer = 5000700010
164 Correct 59 ms 6480 KB Correct answer: answer = 354997100800
165 Correct 74 ms 6112 KB Correct answer: answer = 257000
166 Correct 62 ms 6344 KB Correct answer: answer = 3765323
167 Correct 67 ms 6248 KB Correct answer: answer = 1525903
168 Correct 40 ms 5988 KB Correct answer: answer = 67618137730
169 Correct 40 ms 6052 KB Correct answer: answer = 12656680171
170 Correct 40 ms 6052 KB Correct answer: answer = 579831736
171 Correct 87 ms 7308 KB Correct answer: answer = 23605611
172 Correct 42 ms 6104 KB Correct answer: answer = 7052481200
173 Correct 52 ms 6532 KB Correct answer: answer = 1314039500
174 Correct 55 ms 7084 KB Correct answer: answer = 302484000
175 Correct 117 ms 8448 KB Correct answer: answer = 52348480