Submission #285284

# Submission time Handle Problem Language Result Execution time Memory
285284 2020-08-28T15:32:37 Z user202729 Aliens (IOI16_aliens) C++17
100 / 100
859 ms 11108 KB
// moreflags=grader.cpp
// it's too late.
//
// ...

#include "aliens.h"
// 15
#include<algorithm>
#include<map>
#include<cmath>
#include<cstdint>
#include<climits>
#include<cfloat>
#if not LOCAL
#define NDEBUG
#endif
#include<cassert>

long long take_photos(int n, int m, int numPhoto, std::vector<int> r, std::vector<int> c) {
	std::vector<std::pair<int, int>> points(r.size());
	for(int index=0; index<(int)r.size(); ++index)
		points[index]=std::minmax({r[index], c[index]});
	std::sort(begin(points), end(points),
			[&](auto first, auto sec){return first.first!=sec.first ? first.first<sec.first: first.second>sec.second;
			});
	{ // keep only extreme points
		auto out=points.begin()+1;
		std::for_each(out, points.end(),[&](auto it){
			assert(it.first>=out[-1].first);
			if(it.second>out[-1].second){
				assert(it.first>out[-1].first);
				*out++=it;
			}
		});
		points.erase(out, points.end());
	}
	r.clear(); c.clear(); n=-1;

	auto const square=[&](int it)->int64_t{return (int64_t)it*it;};

	auto const check=[&](double slope)->std::pair<int64_t, int>{
		std::vector<std::pair<double, int>> value(points.size()+1);
		value[0]={0, 0};

		auto const t=[&](int last)->double{
			return value[last].first
				-(double)square(last==0 ? 0: std::max(0, points[last-1].second-points[last].first+1))
				+(double)square(points[last].first);
		};

		struct Item{int u; double t; int numPhoto;};
		std::vector<Item> hull;

		auto const add=[&](int pos)->void{
			Item const cur{points[pos].first, t(pos), value[pos].second};
			if(hull.empty()){hull.push_back(cur); return;}

			assert(cur.u>hull.back().u);

			auto const bad=[&]{
				auto [u1, t1, n1]=hull.end()[-2];
				auto [u2, t2, n2]=hull.end()[-1];
				auto [u3, t3, n3]=cur;
				assert(u1<u2); assert(u2<u3);

				u1-=u2; t1-=t2;
				u3-=u2; t3-=t2;

				return u3*t1-u1*t3<=0;
			};
			while(hull.size()>=2 and bad()) hull.pop_back();
			hull.push_back(cur);
		};

		auto const query=[&](double slope){
			int result=0;
			auto const value=[&](int pos){
				auto [u, t, numPhoto]=hull[pos];
				return t+u*slope;
			};
			auto curValue=value(result);

			for(int step=1<<(31^__builtin_clz((int)hull.size())); step; step>>=1){
				if(result+step<(int)hull.size() and value(result+step)<curValue){
					curValue=value(result+=step);
				}
				if(result-step>=0 and value(result-step)<curValue){
					curValue=value(result-=step);
				}
			}
			return std::make_pair(curValue, hull[result].numPhoto+1);
		};

		add(0);
		for(int pos=1; ; ++pos){
			auto& cur=value[pos];
			cur={DBL_MAX, 0};
			double const tmp2=-double(points[pos-1].second+1)*2;
			/*
			for(int last=0; last<pos; ++last){
				cur=std::min(cur, std::make_pair(
							(double)t(last) + points[last].first * tmp2
							, value[last].second+1));
			}
			*/

			cur=query(tmp2);

			cur.first+=tmp2*tmp2/4+slope;
			if(pos==(int)points.size()) break;
			add(pos);
		}
		auto const [result, resultf]=value[points.size()];
		return {(int64_t)std::round(result-resultf*slope), resultf};
	};

	// the numPhoto>=(int)points.size() case can be special-handled
	double slope1=0;
	auto [v1, nf1]=check(slope1);
	if(numPhoto>=nf1) return v1;
	assert(nf1>=(int)points.size());

	double slope2; int64_t v2; int nf2;
	for(slope2=1;; slope2*=2){
		std::tie(v2, nf2)=check(slope2);
		if(nf2<=numPhoto) break;
	}

	while(true){
		assert(nf2<=numPhoto); assert(numPhoto<=nf1);
		if(nf1==numPhoto and nf2==numPhoto){
			assert(v1==v2);
			return v1;
		}

		int64_t const lower=(int64_t)std::ceil(
				std::max(
					(double)v1+slope1*(nf1-numPhoto),
					(double)v2+slope2*(nf2-numPhoto)
					)-1e-12);
		assert(nf1>nf2);
		int64_t const upper=(v1*(numPhoto-nf2)+v2*(nf1-numPhoto))/(nf1-nf2);
		assert(upper>=0);
		assert(lower<=upper);

		if(lower==upper) return lower;

		assert(nf2<numPhoto); assert(numPhoto<nf1);
		auto const slope3=(slope1+slope2)/2;
		auto const [v3, nf3]=check(slope3);
		(nf3<=numPhoto ? std::tie(v2, nf2, slope2): std::tie(v1, nf1, slope1))=std::tuple(v3, nf3, slope3);
	}
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 4
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 0 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 384 KB Correct answer: answer = 88
8 Correct 0 ms 256 KB Correct answer: answer = 7696
9 Correct 0 ms 256 KB Correct answer: answer = 1
10 Correct 0 ms 256 KB Correct answer: answer = 2374
11 Correct 1 ms 384 KB Correct answer: answer = 9502
12 Correct 1 ms 256 KB Correct answer: answer = 49
13 Correct 0 ms 256 KB Correct answer: answer = 151
14 Correct 0 ms 288 KB Correct answer: answer = 7550
15 Correct 0 ms 256 KB Correct answer: answer = 7220
16 Correct 0 ms 256 KB Correct answer: answer = 7550
17 Correct 0 ms 256 KB Correct answer: answer = 10000
18 Correct 0 ms 256 KB Correct answer: answer = 10000
19 Correct 0 ms 256 KB Correct answer: answer = 624
20 Correct 0 ms 256 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 1
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 1
4 Correct 0 ms 256 KB Correct answer: answer = 5
5 Correct 0 ms 256 KB Correct answer: answer = 41
6 Correct 0 ms 256 KB Correct answer: answer = 71923
7 Correct 1 ms 256 KB Correct answer: answer = 77137
8 Correct 1 ms 384 KB Correct answer: answer = 764
9 Correct 2 ms 384 KB Correct answer: answer = 250000
10 Correct 1 ms 384 KB Correct answer: answer = 500
11 Correct 0 ms 256 KB Correct answer: answer = 32
12 Correct 2 ms 384 KB Correct answer: answer = 130050
13 Correct 1 ms 384 KB Correct answer: answer = 5110
14 Correct 1 ms 256 KB Correct answer: answer = 2626
15 Correct 1 ms 384 KB Correct answer: answer = 796
16 Correct 1 ms 384 KB Correct answer: answer = 7580
17 Correct 1 ms 384 KB Correct answer: answer = 1904
18 Correct 1 ms 384 KB Correct answer: answer = 996004
19 Correct 1 ms 384 KB Correct answer: answer = 38817
20 Correct 1 ms 384 KB Correct answer: answer = 4096
21 Correct 0 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 256 KB Correct answer: answer = 1
23 Correct 1 ms 384 KB Correct answer: answer = 2040
24 Correct 0 ms 384 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 4
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 0 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 384 KB Correct answer: answer = 88
8 Correct 0 ms 256 KB Correct answer: answer = 7696
9 Correct 0 ms 256 KB Correct answer: answer = 1
10 Correct 0 ms 256 KB Correct answer: answer = 2374
11 Correct 1 ms 384 KB Correct answer: answer = 9502
12 Correct 1 ms 256 KB Correct answer: answer = 49
13 Correct 0 ms 256 KB Correct answer: answer = 151
14 Correct 0 ms 288 KB Correct answer: answer = 7550
15 Correct 0 ms 256 KB Correct answer: answer = 7220
16 Correct 0 ms 256 KB Correct answer: answer = 7550
17 Correct 0 ms 256 KB Correct answer: answer = 10000
18 Correct 0 ms 256 KB Correct answer: answer = 10000
19 Correct 0 ms 256 KB Correct answer: answer = 624
20 Correct 0 ms 256 KB Correct answer: answer = 10000
21 Correct 0 ms 256 KB Correct answer: answer = 1
22 Correct 0 ms 256 KB Correct answer: answer = 4
23 Correct 0 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 0 ms 256 KB Correct answer: answer = 41
26 Correct 0 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 256 KB Correct answer: answer = 77137
28 Correct 1 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 1 ms 384 KB Correct answer: answer = 500
31 Correct 0 ms 256 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 1 ms 384 KB Correct answer: answer = 5110
34 Correct 1 ms 256 KB Correct answer: answer = 2626
35 Correct 1 ms 384 KB Correct answer: answer = 796
36 Correct 1 ms 384 KB Correct answer: answer = 7580
37 Correct 1 ms 384 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 1 ms 384 KB Correct answer: answer = 38817
40 Correct 1 ms 384 KB Correct answer: answer = 4096
41 Correct 0 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 256 KB Correct answer: answer = 1
43 Correct 1 ms 384 KB Correct answer: answer = 2040
44 Correct 0 ms 384 KB Correct answer: answer = 2
45 Correct 0 ms 288 KB Correct answer: answer = 4
46 Correct 0 ms 256 KB Correct answer: answer = 9
47 Correct 0 ms 256 KB Correct answer: answer = 9
48 Correct 0 ms 256 KB Correct answer: answer = 21
49 Correct 1 ms 256 KB Correct answer: answer = 71
50 Correct 0 ms 256 KB Correct answer: answer = 77
51 Correct 0 ms 256 KB Correct answer: answer = 400
52 Correct 1 ms 256 KB Correct answer: answer = 996004
53 Correct 1 ms 256 KB Correct answer: answer = 997310
54 Correct 1 ms 256 KB Correct answer: answer = 990781
55 Correct 0 ms 256 KB Correct answer: answer = 996545
56 Correct 1 ms 256 KB Correct answer: answer = 484
57 Correct 1 ms 256 KB Correct answer: answer = 484
58 Correct 1 ms 384 KB Correct answer: answer = 63501
59 Correct 1 ms 384 KB Correct answer: answer = 323501
60 Correct 1 ms 384 KB Correct answer: answer = 752500
61 Correct 1 ms 288 KB Correct answer: answer = 761480
62 Correct 1 ms 384 KB Correct answer: answer = 758932
63 Correct 0 ms 256 KB Correct answer: answer = 1000000
64 Correct 1 ms 384 KB Correct answer: answer = 750500
65 Correct 0 ms 256 KB Correct answer: answer = 1000000
66 Correct 0 ms 256 KB Correct answer: answer = 250000
67 Correct 0 ms 256 KB Correct answer: answer = 250000
68 Correct 0 ms 256 KB Correct answer: answer = 1000000
69 Correct 0 ms 256 KB Correct answer: answer = 994009
70 Correct 1 ms 384 KB Correct answer: answer = 59315
71 Correct 1 ms 384 KB Correct answer: answer = 25454
72 Correct 1 ms 384 KB Correct answer: answer = 1504
73 Correct 1 ms 256 KB Correct answer: answer = 37486
74 Correct 1 ms 256 KB Correct answer: answer = 4284
75 Correct 1 ms 256 KB Correct answer: answer = 158008
76 Correct 0 ms 256 KB Correct answer: answer = 51860
77 Correct 1 ms 384 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 4
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 0 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 384 KB Correct answer: answer = 88
8 Correct 0 ms 256 KB Correct answer: answer = 7696
9 Correct 0 ms 256 KB Correct answer: answer = 1
10 Correct 0 ms 256 KB Correct answer: answer = 2374
11 Correct 1 ms 384 KB Correct answer: answer = 9502
12 Correct 1 ms 256 KB Correct answer: answer = 49
13 Correct 0 ms 256 KB Correct answer: answer = 151
14 Correct 0 ms 288 KB Correct answer: answer = 7550
15 Correct 0 ms 256 KB Correct answer: answer = 7220
16 Correct 0 ms 256 KB Correct answer: answer = 7550
17 Correct 0 ms 256 KB Correct answer: answer = 10000
18 Correct 0 ms 256 KB Correct answer: answer = 10000
19 Correct 0 ms 256 KB Correct answer: answer = 624
20 Correct 0 ms 256 KB Correct answer: answer = 10000
21 Correct 0 ms 256 KB Correct answer: answer = 1
22 Correct 0 ms 256 KB Correct answer: answer = 4
23 Correct 0 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 0 ms 256 KB Correct answer: answer = 41
26 Correct 0 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 256 KB Correct answer: answer = 77137
28 Correct 1 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 1 ms 384 KB Correct answer: answer = 500
31 Correct 0 ms 256 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 1 ms 384 KB Correct answer: answer = 5110
34 Correct 1 ms 256 KB Correct answer: answer = 2626
35 Correct 1 ms 384 KB Correct answer: answer = 796
36 Correct 1 ms 384 KB Correct answer: answer = 7580
37 Correct 1 ms 384 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 1 ms 384 KB Correct answer: answer = 38817
40 Correct 1 ms 384 KB Correct answer: answer = 4096
41 Correct 0 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 256 KB Correct answer: answer = 1
43 Correct 1 ms 384 KB Correct answer: answer = 2040
44 Correct 0 ms 384 KB Correct answer: answer = 2
45 Correct 0 ms 288 KB Correct answer: answer = 4
46 Correct 0 ms 256 KB Correct answer: answer = 9
47 Correct 0 ms 256 KB Correct answer: answer = 9
48 Correct 0 ms 256 KB Correct answer: answer = 21
49 Correct 1 ms 256 KB Correct answer: answer = 71
50 Correct 0 ms 256 KB Correct answer: answer = 77
51 Correct 0 ms 256 KB Correct answer: answer = 400
52 Correct 1 ms 256 KB Correct answer: answer = 996004
53 Correct 1 ms 256 KB Correct answer: answer = 997310
54 Correct 1 ms 256 KB Correct answer: answer = 990781
55 Correct 0 ms 256 KB Correct answer: answer = 996545
56 Correct 1 ms 256 KB Correct answer: answer = 484
57 Correct 1 ms 256 KB Correct answer: answer = 484
58 Correct 1 ms 384 KB Correct answer: answer = 63501
59 Correct 1 ms 384 KB Correct answer: answer = 323501
60 Correct 1 ms 384 KB Correct answer: answer = 752500
61 Correct 1 ms 288 KB Correct answer: answer = 761480
62 Correct 1 ms 384 KB Correct answer: answer = 758932
63 Correct 0 ms 256 KB Correct answer: answer = 1000000
64 Correct 1 ms 384 KB Correct answer: answer = 750500
65 Correct 0 ms 256 KB Correct answer: answer = 1000000
66 Correct 0 ms 256 KB Correct answer: answer = 250000
67 Correct 0 ms 256 KB Correct answer: answer = 250000
68 Correct 0 ms 256 KB Correct answer: answer = 1000000
69 Correct 0 ms 256 KB Correct answer: answer = 994009
70 Correct 1 ms 384 KB Correct answer: answer = 59315
71 Correct 1 ms 384 KB Correct answer: answer = 25454
72 Correct 1 ms 384 KB Correct answer: answer = 1504
73 Correct 1 ms 256 KB Correct answer: answer = 37486
74 Correct 1 ms 256 KB Correct answer: answer = 4284
75 Correct 1 ms 256 KB Correct answer: answer = 158008
76 Correct 0 ms 256 KB Correct answer: answer = 51860
77 Correct 1 ms 384 KB Correct answer: answer = 12985
78 Correct 2 ms 384 KB Correct answer: answer = 997864126212
79 Correct 2 ms 384 KB Correct answer: answer = 998608411647
80 Correct 2 ms 384 KB Correct answer: answer = 995265560477
81 Correct 18 ms 692 KB Correct answer: answer = 10125000
82 Correct 19 ms 696 KB Correct answer: answer = 2291668
83 Correct 7 ms 640 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 2 ms 512 KB Correct answer: answer = 3416
86 Correct 25 ms 668 KB Correct answer: answer = 331708193881
87 Correct 22 ms 664 KB Correct answer: answer = 2861193756
88 Correct 21 ms 668 KB Correct answer: answer = 114646930
89 Correct 16 ms 700 KB Correct answer: answer = 9280921
90 Correct 15 ms 696 KB Correct answer: answer = 999984053400
91 Correct 25 ms 672 KB Correct answer: answer = 750935949134
92 Correct 1 ms 384 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 384 KB Correct answer: answer = 998762383161
94 Correct 24 ms 672 KB Correct answer: answer = 23017412908
95 Correct 2 ms 384 KB Correct answer: answer = 728143410622
96 Correct 1 ms 384 KB Correct answer: answer = 2
97 Correct 17 ms 696 KB Correct answer: answer = 1824916
98 Correct 25 ms 688 KB Correct answer: answer = 10680029
99 Correct 20 ms 704 KB Correct answer: answer = 18351700
100 Correct 17 ms 696 KB Correct answer: answer = 16040026
101 Correct 3 ms 384 KB Correct answer: answer = 253968628325
102 Correct 4 ms 512 KB Correct answer: answer = 10267
103 Correct 26 ms 724 KB Correct answer: answer = 2582408
104 Correct 2 ms 384 KB Correct answer: answer = 78024964781
105 Correct 2 ms 384 KB Correct answer: answer = 9866346457
106 Correct 3 ms 384 KB Correct answer: answer = 3327720949
107 Correct 2 ms 384 KB Correct answer: answer = 86064128360
108 Correct 2 ms 384 KB Correct answer: answer = 12698259150
109 Correct 19 ms 668 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 4
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 0 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 384 KB Correct answer: answer = 88
8 Correct 0 ms 256 KB Correct answer: answer = 7696
9 Correct 0 ms 256 KB Correct answer: answer = 1
10 Correct 0 ms 256 KB Correct answer: answer = 2374
11 Correct 1 ms 384 KB Correct answer: answer = 9502
12 Correct 1 ms 256 KB Correct answer: answer = 49
13 Correct 0 ms 256 KB Correct answer: answer = 151
14 Correct 0 ms 288 KB Correct answer: answer = 7550
15 Correct 0 ms 256 KB Correct answer: answer = 7220
16 Correct 0 ms 256 KB Correct answer: answer = 7550
17 Correct 0 ms 256 KB Correct answer: answer = 10000
18 Correct 0 ms 256 KB Correct answer: answer = 10000
19 Correct 0 ms 256 KB Correct answer: answer = 624
20 Correct 0 ms 256 KB Correct answer: answer = 10000
21 Correct 0 ms 256 KB Correct answer: answer = 1
22 Correct 0 ms 256 KB Correct answer: answer = 4
23 Correct 0 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 0 ms 256 KB Correct answer: answer = 41
26 Correct 0 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 256 KB Correct answer: answer = 77137
28 Correct 1 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 1 ms 384 KB Correct answer: answer = 500
31 Correct 0 ms 256 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 1 ms 384 KB Correct answer: answer = 5110
34 Correct 1 ms 256 KB Correct answer: answer = 2626
35 Correct 1 ms 384 KB Correct answer: answer = 796
36 Correct 1 ms 384 KB Correct answer: answer = 7580
37 Correct 1 ms 384 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 1 ms 384 KB Correct answer: answer = 38817
40 Correct 1 ms 384 KB Correct answer: answer = 4096
41 Correct 0 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 256 KB Correct answer: answer = 1
43 Correct 1 ms 384 KB Correct answer: answer = 2040
44 Correct 0 ms 384 KB Correct answer: answer = 2
45 Correct 0 ms 288 KB Correct answer: answer = 4
46 Correct 0 ms 256 KB Correct answer: answer = 9
47 Correct 0 ms 256 KB Correct answer: answer = 9
48 Correct 0 ms 256 KB Correct answer: answer = 21
49 Correct 1 ms 256 KB Correct answer: answer = 71
50 Correct 0 ms 256 KB Correct answer: answer = 77
51 Correct 0 ms 256 KB Correct answer: answer = 400
52 Correct 1 ms 256 KB Correct answer: answer = 996004
53 Correct 1 ms 256 KB Correct answer: answer = 997310
54 Correct 1 ms 256 KB Correct answer: answer = 990781
55 Correct 0 ms 256 KB Correct answer: answer = 996545
56 Correct 1 ms 256 KB Correct answer: answer = 484
57 Correct 1 ms 256 KB Correct answer: answer = 484
58 Correct 1 ms 384 KB Correct answer: answer = 63501
59 Correct 1 ms 384 KB Correct answer: answer = 323501
60 Correct 1 ms 384 KB Correct answer: answer = 752500
61 Correct 1 ms 288 KB Correct answer: answer = 761480
62 Correct 1 ms 384 KB Correct answer: answer = 758932
63 Correct 0 ms 256 KB Correct answer: answer = 1000000
64 Correct 1 ms 384 KB Correct answer: answer = 750500
65 Correct 0 ms 256 KB Correct answer: answer = 1000000
66 Correct 0 ms 256 KB Correct answer: answer = 250000
67 Correct 0 ms 256 KB Correct answer: answer = 250000
68 Correct 0 ms 256 KB Correct answer: answer = 1000000
69 Correct 0 ms 256 KB Correct answer: answer = 994009
70 Correct 1 ms 384 KB Correct answer: answer = 59315
71 Correct 1 ms 384 KB Correct answer: answer = 25454
72 Correct 1 ms 384 KB Correct answer: answer = 1504
73 Correct 1 ms 256 KB Correct answer: answer = 37486
74 Correct 1 ms 256 KB Correct answer: answer = 4284
75 Correct 1 ms 256 KB Correct answer: answer = 158008
76 Correct 0 ms 256 KB Correct answer: answer = 51860
77 Correct 1 ms 384 KB Correct answer: answer = 12985
78 Correct 2 ms 384 KB Correct answer: answer = 997864126212
79 Correct 2 ms 384 KB Correct answer: answer = 998608411647
80 Correct 2 ms 384 KB Correct answer: answer = 995265560477
81 Correct 18 ms 692 KB Correct answer: answer = 10125000
82 Correct 19 ms 696 KB Correct answer: answer = 2291668
83 Correct 7 ms 640 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 2 ms 512 KB Correct answer: answer = 3416
86 Correct 25 ms 668 KB Correct answer: answer = 331708193881
87 Correct 22 ms 664 KB Correct answer: answer = 2861193756
88 Correct 21 ms 668 KB Correct answer: answer = 114646930
89 Correct 16 ms 700 KB Correct answer: answer = 9280921
90 Correct 15 ms 696 KB Correct answer: answer = 999984053400
91 Correct 25 ms 672 KB Correct answer: answer = 750935949134
92 Correct 1 ms 384 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 384 KB Correct answer: answer = 998762383161
94 Correct 24 ms 672 KB Correct answer: answer = 23017412908
95 Correct 2 ms 384 KB Correct answer: answer = 728143410622
96 Correct 1 ms 384 KB Correct answer: answer = 2
97 Correct 17 ms 696 KB Correct answer: answer = 1824916
98 Correct 25 ms 688 KB Correct answer: answer = 10680029
99 Correct 20 ms 704 KB Correct answer: answer = 18351700
100 Correct 17 ms 696 KB Correct answer: answer = 16040026
101 Correct 3 ms 384 KB Correct answer: answer = 253968628325
102 Correct 4 ms 512 KB Correct answer: answer = 10267
103 Correct 26 ms 724 KB Correct answer: answer = 2582408
104 Correct 2 ms 384 KB Correct answer: answer = 78024964781
105 Correct 2 ms 384 KB Correct answer: answer = 9866346457
106 Correct 3 ms 384 KB Correct answer: answer = 3327720949
107 Correct 2 ms 384 KB Correct answer: answer = 86064128360
108 Correct 2 ms 384 KB Correct answer: answer = 12698259150
109 Correct 19 ms 668 KB Correct answer: answer = 1185259288
110 Correct 20 ms 1536 KB Correct answer: answer = 999889968863
111 Correct 21 ms 1536 KB Correct answer: answer = 999861384931
112 Correct 20 ms 1536 KB Correct answer: answer = 999811809929
113 Correct 20 ms 1536 KB Correct answer: answer = 999869756441
114 Correct 367 ms 5292 KB Correct answer: answer = 1700000000
115 Correct 347 ms 5576 KB Correct answer: answer = 131666670
116 Correct 90 ms 1956 KB Correct answer: answer = 89478486
117 Correct 90 ms 1908 KB Correct answer: answer = 4971040
118 Correct 81 ms 2000 KB Correct answer: answer = 2711494
119 Correct 321 ms 5576 KB Correct answer: answer = 25252530
120 Correct 314 ms 5644 KB Correct answer: answer = 62500000
121 Correct 355 ms 5636 KB Correct answer: answer = 333175097780
122 Correct 324 ms 5636 KB Correct answer: answer = 33121180179
123 Correct 347 ms 5640 KB Correct answer: answer = 9802314015
124 Correct 330 ms 5640 KB Correct answer: answer = 32567551
125 Correct 328 ms 5648 KB Correct answer: answer = 997525000000
126 Correct 286 ms 5528 KB Correct answer: answer = 752723538884
127 Correct 23 ms 2048 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2176 KB Correct answer: answer = 999978000121
129 Correct 21 ms 2176 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1664 KB Correct answer: answer = 2
131 Correct 352 ms 5576 KB Correct answer: answer = 277966670
132 Correct 381 ms 5576 KB Correct answer: answer = 2500900082
133 Correct 47 ms 2568 KB Correct answer: answer = 301248349636
134 Correct 144 ms 2972 KB Correct answer: answer = 14118891
135 Correct 21 ms 2176 KB Correct answer: answer = 14384977265
136 Correct 26 ms 2176 KB Correct answer: answer = 3681368330
137 Correct 23 ms 2176 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 0 ms 256 KB Correct answer: answer = 4
2 Correct 0 ms 256 KB Correct answer: answer = 4
3 Correct 0 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 0 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 384 KB Correct answer: answer = 88
8 Correct 0 ms 256 KB Correct answer: answer = 7696
9 Correct 0 ms 256 KB Correct answer: answer = 1
10 Correct 0 ms 256 KB Correct answer: answer = 2374
11 Correct 1 ms 384 KB Correct answer: answer = 9502
12 Correct 1 ms 256 KB Correct answer: answer = 49
13 Correct 0 ms 256 KB Correct answer: answer = 151
14 Correct 0 ms 288 KB Correct answer: answer = 7550
15 Correct 0 ms 256 KB Correct answer: answer = 7220
16 Correct 0 ms 256 KB Correct answer: answer = 7550
17 Correct 0 ms 256 KB Correct answer: answer = 10000
18 Correct 0 ms 256 KB Correct answer: answer = 10000
19 Correct 0 ms 256 KB Correct answer: answer = 624
20 Correct 0 ms 256 KB Correct answer: answer = 10000
21 Correct 0 ms 256 KB Correct answer: answer = 1
22 Correct 0 ms 256 KB Correct answer: answer = 4
23 Correct 0 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 0 ms 256 KB Correct answer: answer = 41
26 Correct 0 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 256 KB Correct answer: answer = 77137
28 Correct 1 ms 384 KB Correct answer: answer = 764
29 Correct 2 ms 384 KB Correct answer: answer = 250000
30 Correct 1 ms 384 KB Correct answer: answer = 500
31 Correct 0 ms 256 KB Correct answer: answer = 32
32 Correct 2 ms 384 KB Correct answer: answer = 130050
33 Correct 1 ms 384 KB Correct answer: answer = 5110
34 Correct 1 ms 256 KB Correct answer: answer = 2626
35 Correct 1 ms 384 KB Correct answer: answer = 796
36 Correct 1 ms 384 KB Correct answer: answer = 7580
37 Correct 1 ms 384 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 1 ms 384 KB Correct answer: answer = 38817
40 Correct 1 ms 384 KB Correct answer: answer = 4096
41 Correct 0 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 256 KB Correct answer: answer = 1
43 Correct 1 ms 384 KB Correct answer: answer = 2040
44 Correct 0 ms 384 KB Correct answer: answer = 2
45 Correct 0 ms 288 KB Correct answer: answer = 4
46 Correct 0 ms 256 KB Correct answer: answer = 9
47 Correct 0 ms 256 KB Correct answer: answer = 9
48 Correct 0 ms 256 KB Correct answer: answer = 21
49 Correct 1 ms 256 KB Correct answer: answer = 71
50 Correct 0 ms 256 KB Correct answer: answer = 77
51 Correct 0 ms 256 KB Correct answer: answer = 400
52 Correct 1 ms 256 KB Correct answer: answer = 996004
53 Correct 1 ms 256 KB Correct answer: answer = 997310
54 Correct 1 ms 256 KB Correct answer: answer = 990781
55 Correct 0 ms 256 KB Correct answer: answer = 996545
56 Correct 1 ms 256 KB Correct answer: answer = 484
57 Correct 1 ms 256 KB Correct answer: answer = 484
58 Correct 1 ms 384 KB Correct answer: answer = 63501
59 Correct 1 ms 384 KB Correct answer: answer = 323501
60 Correct 1 ms 384 KB Correct answer: answer = 752500
61 Correct 1 ms 288 KB Correct answer: answer = 761480
62 Correct 1 ms 384 KB Correct answer: answer = 758932
63 Correct 0 ms 256 KB Correct answer: answer = 1000000
64 Correct 1 ms 384 KB Correct answer: answer = 750500
65 Correct 0 ms 256 KB Correct answer: answer = 1000000
66 Correct 0 ms 256 KB Correct answer: answer = 250000
67 Correct 0 ms 256 KB Correct answer: answer = 250000
68 Correct 0 ms 256 KB Correct answer: answer = 1000000
69 Correct 0 ms 256 KB Correct answer: answer = 994009
70 Correct 1 ms 384 KB Correct answer: answer = 59315
71 Correct 1 ms 384 KB Correct answer: answer = 25454
72 Correct 1 ms 384 KB Correct answer: answer = 1504
73 Correct 1 ms 256 KB Correct answer: answer = 37486
74 Correct 1 ms 256 KB Correct answer: answer = 4284
75 Correct 1 ms 256 KB Correct answer: answer = 158008
76 Correct 0 ms 256 KB Correct answer: answer = 51860
77 Correct 1 ms 384 KB Correct answer: answer = 12985
78 Correct 2 ms 384 KB Correct answer: answer = 997864126212
79 Correct 2 ms 384 KB Correct answer: answer = 998608411647
80 Correct 2 ms 384 KB Correct answer: answer = 995265560477
81 Correct 18 ms 692 KB Correct answer: answer = 10125000
82 Correct 19 ms 696 KB Correct answer: answer = 2291668
83 Correct 7 ms 640 KB Correct answer: answer = 42388
84 Correct 4 ms 512 KB Correct answer: answer = 10318
85 Correct 2 ms 512 KB Correct answer: answer = 3416
86 Correct 25 ms 668 KB Correct answer: answer = 331708193881
87 Correct 22 ms 664 KB Correct answer: answer = 2861193756
88 Correct 21 ms 668 KB Correct answer: answer = 114646930
89 Correct 16 ms 700 KB Correct answer: answer = 9280921
90 Correct 15 ms 696 KB Correct answer: answer = 999984053400
91 Correct 25 ms 672 KB Correct answer: answer = 750935949134
92 Correct 1 ms 384 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 384 KB Correct answer: answer = 998762383161
94 Correct 24 ms 672 KB Correct answer: answer = 23017412908
95 Correct 2 ms 384 KB Correct answer: answer = 728143410622
96 Correct 1 ms 384 KB Correct answer: answer = 2
97 Correct 17 ms 696 KB Correct answer: answer = 1824916
98 Correct 25 ms 688 KB Correct answer: answer = 10680029
99 Correct 20 ms 704 KB Correct answer: answer = 18351700
100 Correct 17 ms 696 KB Correct answer: answer = 16040026
101 Correct 3 ms 384 KB Correct answer: answer = 253968628325
102 Correct 4 ms 512 KB Correct answer: answer = 10267
103 Correct 26 ms 724 KB Correct answer: answer = 2582408
104 Correct 2 ms 384 KB Correct answer: answer = 78024964781
105 Correct 2 ms 384 KB Correct answer: answer = 9866346457
106 Correct 3 ms 384 KB Correct answer: answer = 3327720949
107 Correct 2 ms 384 KB Correct answer: answer = 86064128360
108 Correct 2 ms 384 KB Correct answer: answer = 12698259150
109 Correct 19 ms 668 KB Correct answer: answer = 1185259288
110 Correct 20 ms 1536 KB Correct answer: answer = 999889968863
111 Correct 21 ms 1536 KB Correct answer: answer = 999861384931
112 Correct 20 ms 1536 KB Correct answer: answer = 999811809929
113 Correct 20 ms 1536 KB Correct answer: answer = 999869756441
114 Correct 367 ms 5292 KB Correct answer: answer = 1700000000
115 Correct 347 ms 5576 KB Correct answer: answer = 131666670
116 Correct 90 ms 1956 KB Correct answer: answer = 89478486
117 Correct 90 ms 1908 KB Correct answer: answer = 4971040
118 Correct 81 ms 2000 KB Correct answer: answer = 2711494
119 Correct 321 ms 5576 KB Correct answer: answer = 25252530
120 Correct 314 ms 5644 KB Correct answer: answer = 62500000
121 Correct 355 ms 5636 KB Correct answer: answer = 333175097780
122 Correct 324 ms 5636 KB Correct answer: answer = 33121180179
123 Correct 347 ms 5640 KB Correct answer: answer = 9802314015
124 Correct 330 ms 5640 KB Correct answer: answer = 32567551
125 Correct 328 ms 5648 KB Correct answer: answer = 997525000000
126 Correct 286 ms 5528 KB Correct answer: answer = 752723538884
127 Correct 23 ms 2048 KB Correct answer: answer = 1000000000000
128 Correct 20 ms 2176 KB Correct answer: answer = 999978000121
129 Correct 21 ms 2176 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1664 KB Correct answer: answer = 2
131 Correct 352 ms 5576 KB Correct answer: answer = 277966670
132 Correct 381 ms 5576 KB Correct answer: answer = 2500900082
133 Correct 47 ms 2568 KB Correct answer: answer = 301248349636
134 Correct 144 ms 2972 KB Correct answer: answer = 14118891
135 Correct 21 ms 2176 KB Correct answer: answer = 14384977265
136 Correct 26 ms 2176 KB Correct answer: answer = 3681368330
137 Correct 23 ms 2176 KB Correct answer: answer = 2720316816
138 Correct 43 ms 3960 KB Correct answer: answer = 999976000144
139 Correct 41 ms 3960 KB Correct answer: answer = 999856102410
140 Correct 41 ms 3960 KB Correct answer: answer = 999958401531
141 Correct 42 ms 3960 KB Correct answer: answer = 999769649944
142 Correct 43 ms 3960 KB Correct answer: answer = 999874525918
143 Correct 843 ms 10892 KB Correct answer: answer = 6050000000
144 Correct 785 ms 10940 KB Correct answer: answer = 1112500000
145 Correct 502 ms 6880 KB Correct answer: answer = 4294967296
146 Correct 478 ms 6756 KB Correct answer: answer = 87652406
147 Correct 409 ms 6756 KB Correct answer: answer = 6297664
148 Correct 99 ms 6756 KB Correct answer: answer = 196612
149 Correct 707 ms 11068 KB Correct answer: answer = 15015100
150 Correct 659 ms 11108 KB Correct answer: answer = 25000000
151 Correct 729 ms 10836 KB Correct answer: answer = 333230209550
152 Correct 638 ms 10848 KB Correct answer: answer = 917123769
153 Correct 69 ms 8684 KB Correct answer: answer = 95162
154 Correct 807 ms 10872 KB Correct answer: answer = 382616191
155 Correct 757 ms 10912 KB Correct answer: answer = 990033333400
156 Correct 64 ms 8684 KB Correct answer: answer = 990000100000
157 Correct 360 ms 10380 KB Correct answer: answer = 749998188180
158 Correct 28 ms 3960 KB Correct answer: answer = 1000000000000
159 Correct 39 ms 3968 KB Correct answer: answer = 999988000036
160 Correct 40 ms 4088 KB Correct answer: answer = 744929274393
161 Correct 21 ms 3072 KB Correct answer: answer = 2
162 Correct 65 ms 8560 KB Correct answer: answer = 1300024
163 Correct 859 ms 11036 KB Correct answer: answer = 5000700010
164 Correct 101 ms 4852 KB Correct answer: answer = 354997100800
165 Correct 122 ms 5576 KB Correct answer: answer = 257000
166 Correct 294 ms 5740 KB Correct answer: answer = 3765323
167 Correct 248 ms 5632 KB Correct answer: answer = 1525903
168 Correct 42 ms 4088 KB Correct answer: answer = 67618137730
169 Correct 42 ms 4088 KB Correct answer: answer = 12656680171
170 Correct 54 ms 4264 KB Correct answer: answer = 579831736
171 Correct 166 ms 5920 KB Correct answer: answer = 23605611
172 Correct 42 ms 4216 KB Correct answer: answer = 7052481200
173 Correct 47 ms 4728 KB Correct answer: answer = 1314039500
174 Correct 46 ms 5236 KB Correct answer: answer = 302484000
175 Correct 260 ms 7952 KB Correct answer: answer = 52348480