Submission #406677

# Submission time Handle Problem Language Result Execution time Memory
406677 2021-05-18T02:25:31 Z drogskol Aliens (IOI16_aliens) C++17
100 / 100
285 ms 8400 KB
#include <bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i=0;i<(n);i++)
#define ALL(v) v.begin(),v.end()

//base:[Convex-Hull Trick - sataniC++](http://s...content-available-to-author-only...g.com/entry/2016/08/16/181331#fn-534591c8)
//追加する直線の傾きは単調(最小値なら傾きは単調減少、最大値なら傾きは単調増加)
template<typename T>
struct ConvecHullTrick {
  typedef pair<T,T> Line;
  vector<Line> lines; //直線(傾き,切片)
	bool isMonotonicX; //最小値(最大値)を求めるxが単調であるか
	function<bool(T l, T r)> comp; //最小/最大を判断する関数
  int head=0;

	//flag:クエリは単調? compFunc:求めるのは最大値?
	ConvecHullTrick(bool flagX=0,bool compFunc=0):isMonotonicX(flagX){
    if(compFunc)comp=[](T l,T r){return l<=r;};
    else comp=[](T l,T r){return l>=r;};
	};

	//直線l1,l2,l3のうちl2が不必要であるかどうか
	bool check(Line l1,Line l2,Line l3){
		if(l1<l3)swap(l1,l3);
    T a1=l1.first,a2=l2.first,a3=l3.first,b1=l1.second,b2=l2.second,b3=l3.second;
		return (b3-b2)*(a2-a1)>=(b2-b1)*(a3-a2);
	}

	//直線y=ax+bを追加する 単調性から付け足すのは一番後ろで、不必要なやつが消えるまで一番後ろを消したら付け足す
	void add(T a, T b) {
		Line line(a,b);
		while(lines.size()>=2&&check(*(lines.end()-2),lines.back(),line))lines.pop_back();
		lines.emplace_back(line);
	}

	//linesのi番目の直線のxでの値
	T f(int i,T x) {
		return lines[i].first*x+lines[i].second;
	}

	//特定のlineのxでの値
	T f(Line line,T x) {
		return line.first*x+line.second;
	}

	//直線群の中でxの時に最小(最大)となる値を返す
	T get(T x){
    assert(lines.size());
		if(isMonotonicX){//最小値(最大値)クエリにおけるxが単調(昇順)
      while(lines.size()<=head)head--;
			while(lines.size()-head>=2&&comp(f(head,x),f(head+1,x)))head++;
			return f(head,x);
		}
		else{
			int low=-1,high=lines.size()-1;
			while(high-low>1){
				int mid=(high+low)>>1;
				if(comp(f(mid,x),f(mid+1,x)))low=mid;
        else high=mid;
			}
			return f(high,x);
		}
	}
};

using ll=long long;
typedef pair<int,int> P;
using ld=long double;
static const ld GRATIO = 1.6180339887498948482045868343656;

ll square(int a){
  return a*(ll)a;
}

ll shortest(int n,int k,const vector<P>&v,ll t){//t:ラグランジュ双対のパラメータ
  ConvecHullTrick<ll> CHT(1,0);
  REP(i,n){
    //[0,i)の最小コストをDとする
    //[i,j]を囲うような正方形を考えると、これの大きさは(v[j].se-v[i].fi)^2 = v[j].se^2 -2v[j].se v[i]fi + v[i].se^2
    //また、v[i-1].se>v[i].fiの時はi-1までの正方形との重複が(v[i-1].se-v[i].fi)^2
    //ここにラグランジュ変数のtを足す必要がある
    //したがって、(-2v[i].fi)x + t+D+v[i].se^2 -(v[i-1].se-v[i].fi)^2 を付けてあげるようにすると、jまでの最小値がget(v[j].se)+v[j].se^2になる
    //v[i].fiは単調増加なので傾きは単調減少 v[i].seも単調増加にしてるのでクエリも単調増加
    ll D=( i ? CHT.get(v[i-1].second)+square(v[i-1].second) : 0LL );//[0,i)を撮る最小コスト
    if(i&&v[i-1].second>v[i].first)D-=square(v[i-1].second-v[i].first);
    ll a=-2*v[i].first,b=square(v[i].first)+t+D;
    CHT.add(a,b);
  }
  ll D=CHT.get(v[n-1].second)+square(v[n-1].second);
  return D-t*k;
}

ll take_photos(int n,int m,int k,vector<int> r,vector<int> c){
  vector<P> v,tmp(n);
  REP(i,n)tmp[i]={min(r[i],c[i])-1,max(r[i],c[i])};
  sort(ALL(tmp));
  for(P p:tmp){
    if(v.size()&&v.back().second>=p.second)continue;
    if(v.size()&&v.back().first==p.first)v.pop_back();
    v.push_back(p);
  }
  n=v.size();
  REP(i,n-1){
    assert(v[i].first<v[i+1].first);
    assert(v[i].second<v[i+1].second);
  }
  if(n<=k){
    ll res=0;
    //cout<<"N"<<n<<endl;
    //for(P p:v)cout<<p.first<<" "<<p.second<<endl;
    for(int i=0;i<n;i++){
      res+=square(v[i].second-v[i].first);
      if(i&&v[i-1].second>v[i].first)res-=square(v[i-1].second-v[i].first);
    }
    return res;
  }
  ll lt=-3e12,rt=3e12;
  ll t1=((ld)lt*GRATIO+(ld)rt)/(1.0+GRATIO),t2=((ld)lt+(ld)rt*GRATIO)/(1.0+GRATIO);
  ll va1=shortest(n,k,v,t1),va2=shortest(n,k,v,t2);
  while(rt-lt>30){
    if(va1<va2){
      lt=t1;
      t1=t2;
      va1=va2;
      t2=((ld)lt+(ld)rt*GRATIO)/(1.0+GRATIO);
      va2=shortest(n,k,v,t2);
    }
    else{
      rt=t2;
      t2=t1;
      va2=va1;
      t1=((ld)lt*GRATIO+(ld)rt)/(1.0+GRATIO);
      va1=shortest(n,k,v,t1);
    }
  }
  while(rt-lt>2){
    t1=lt+(rt-lt)/3,t2=lt+(rt-lt)*2/3;
    if(shortest(n,k,v,t1)<shortest(n,k,v,t2))lt=t1;
    else rt=t2;
  }
  //cout<<"T"<<(lt+rt)/2<<endl;
  return shortest(n,k,v,(lt+rt)/2);
}

/*
int main(){
  int n,m,k;cin>>n>>m>>k;
  vector<int> r(n),c(n);
  REP(i,n)cin>>r[i]>>c[i];
  cout<<take_photos(n,m,k,r,c)<<endl;
}
*/

Compilation message

aliens.cpp: In instantiation of 'T ConvecHullTrick<T>::get(T) [with T = long long int]':
aliens.cpp:85:37:   required from here
aliens.cpp:51:25: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int>, std::allocator<std::pair<long long int, long long int> > >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   51 |       while(lines.size()<=head)head--;
      |             ~~~~~~~~~~~~^~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 204 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 1 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 1 ms 204 KB Correct answer: answer = 7550
17 Correct 1 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 1 ms 204 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 1
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 1
4 Correct 1 ms 204 KB Correct answer: answer = 5
5 Correct 1 ms 204 KB Correct answer: answer = 41
6 Correct 1 ms 204 KB Correct answer: answer = 71923
7 Correct 1 ms 204 KB Correct answer: answer = 77137
8 Correct 2 ms 204 KB Correct answer: answer = 764
9 Correct 2 ms 204 KB Correct answer: answer = 250000
10 Correct 1 ms 204 KB Correct answer: answer = 500
11 Correct 1 ms 204 KB Correct answer: answer = 32
12 Correct 2 ms 204 KB Correct answer: answer = 130050
13 Correct 2 ms 204 KB Correct answer: answer = 5110
14 Correct 1 ms 204 KB Correct answer: answer = 2626
15 Correct 1 ms 204 KB Correct answer: answer = 796
16 Correct 2 ms 204 KB Correct answer: answer = 7580
17 Correct 2 ms 324 KB Correct answer: answer = 1904
18 Correct 2 ms 204 KB Correct answer: answer = 996004
19 Correct 2 ms 204 KB Correct answer: answer = 38817
20 Correct 2 ms 204 KB Correct answer: answer = 4096
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 1
23 Correct 2 ms 204 KB Correct answer: answer = 2040
24 Correct 1 ms 204 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 204 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 1 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 1 ms 204 KB Correct answer: answer = 7550
17 Correct 1 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 1 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 204 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 1 ms 204 KB Correct answer: answer = 77137
28 Correct 2 ms 204 KB Correct answer: answer = 764
29 Correct 2 ms 204 KB Correct answer: answer = 250000
30 Correct 1 ms 204 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 204 KB Correct answer: answer = 130050
33 Correct 2 ms 204 KB Correct answer: answer = 5110
34 Correct 1 ms 204 KB Correct answer: answer = 2626
35 Correct 1 ms 204 KB Correct answer: answer = 796
36 Correct 2 ms 204 KB Correct answer: answer = 7580
37 Correct 2 ms 324 KB Correct answer: answer = 1904
38 Correct 2 ms 204 KB Correct answer: answer = 996004
39 Correct 2 ms 204 KB Correct answer: answer = 38817
40 Correct 2 ms 204 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 2 ms 204 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 204 KB Correct answer: answer = 9
47 Correct 1 ms 204 KB Correct answer: answer = 9
48 Correct 1 ms 204 KB Correct answer: answer = 21
49 Correct 1 ms 204 KB Correct answer: answer = 71
50 Correct 1 ms 204 KB Correct answer: answer = 77
51 Correct 1 ms 204 KB Correct answer: answer = 400
52 Correct 1 ms 204 KB Correct answer: answer = 996004
53 Correct 1 ms 204 KB Correct answer: answer = 997310
54 Correct 1 ms 204 KB Correct answer: answer = 990781
55 Correct 1 ms 204 KB Correct answer: answer = 996545
56 Correct 1 ms 204 KB Correct answer: answer = 484
57 Correct 1 ms 204 KB Correct answer: answer = 484
58 Correct 2 ms 204 KB Correct answer: answer = 63501
59 Correct 2 ms 204 KB Correct answer: answer = 323501
60 Correct 2 ms 204 KB Correct answer: answer = 752500
61 Correct 1 ms 204 KB Correct answer: answer = 761480
62 Correct 1 ms 204 KB Correct answer: answer = 758932
63 Correct 1 ms 204 KB Correct answer: answer = 1000000
64 Correct 1 ms 204 KB Correct answer: answer = 750500
65 Correct 1 ms 204 KB Correct answer: answer = 1000000
66 Correct 1 ms 204 KB Correct answer: answer = 250000
67 Correct 1 ms 204 KB Correct answer: answer = 250000
68 Correct 1 ms 204 KB Correct answer: answer = 1000000
69 Correct 1 ms 204 KB Correct answer: answer = 994009
70 Correct 1 ms 204 KB Correct answer: answer = 59315
71 Correct 1 ms 204 KB Correct answer: answer = 25454
72 Correct 2 ms 204 KB Correct answer: answer = 1504
73 Correct 1 ms 204 KB Correct answer: answer = 37486
74 Correct 1 ms 204 KB Correct answer: answer = 4284
75 Correct 1 ms 204 KB Correct answer: answer = 158008
76 Correct 1 ms 204 KB Correct answer: answer = 51860
77 Correct 1 ms 204 KB Correct answer: answer = 12985
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 204 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 1 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 1 ms 204 KB Correct answer: answer = 7550
17 Correct 1 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 1 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 204 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 1 ms 204 KB Correct answer: answer = 77137
28 Correct 2 ms 204 KB Correct answer: answer = 764
29 Correct 2 ms 204 KB Correct answer: answer = 250000
30 Correct 1 ms 204 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 204 KB Correct answer: answer = 130050
33 Correct 2 ms 204 KB Correct answer: answer = 5110
34 Correct 1 ms 204 KB Correct answer: answer = 2626
35 Correct 1 ms 204 KB Correct answer: answer = 796
36 Correct 2 ms 204 KB Correct answer: answer = 7580
37 Correct 2 ms 324 KB Correct answer: answer = 1904
38 Correct 2 ms 204 KB Correct answer: answer = 996004
39 Correct 2 ms 204 KB Correct answer: answer = 38817
40 Correct 2 ms 204 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 2 ms 204 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 204 KB Correct answer: answer = 9
47 Correct 1 ms 204 KB Correct answer: answer = 9
48 Correct 1 ms 204 KB Correct answer: answer = 21
49 Correct 1 ms 204 KB Correct answer: answer = 71
50 Correct 1 ms 204 KB Correct answer: answer = 77
51 Correct 1 ms 204 KB Correct answer: answer = 400
52 Correct 1 ms 204 KB Correct answer: answer = 996004
53 Correct 1 ms 204 KB Correct answer: answer = 997310
54 Correct 1 ms 204 KB Correct answer: answer = 990781
55 Correct 1 ms 204 KB Correct answer: answer = 996545
56 Correct 1 ms 204 KB Correct answer: answer = 484
57 Correct 1 ms 204 KB Correct answer: answer = 484
58 Correct 2 ms 204 KB Correct answer: answer = 63501
59 Correct 2 ms 204 KB Correct answer: answer = 323501
60 Correct 2 ms 204 KB Correct answer: answer = 752500
61 Correct 1 ms 204 KB Correct answer: answer = 761480
62 Correct 1 ms 204 KB Correct answer: answer = 758932
63 Correct 1 ms 204 KB Correct answer: answer = 1000000
64 Correct 1 ms 204 KB Correct answer: answer = 750500
65 Correct 1 ms 204 KB Correct answer: answer = 1000000
66 Correct 1 ms 204 KB Correct answer: answer = 250000
67 Correct 1 ms 204 KB Correct answer: answer = 250000
68 Correct 1 ms 204 KB Correct answer: answer = 1000000
69 Correct 1 ms 204 KB Correct answer: answer = 994009
70 Correct 1 ms 204 KB Correct answer: answer = 59315
71 Correct 1 ms 204 KB Correct answer: answer = 25454
72 Correct 2 ms 204 KB Correct answer: answer = 1504
73 Correct 1 ms 204 KB Correct answer: answer = 37486
74 Correct 1 ms 204 KB Correct answer: answer = 4284
75 Correct 1 ms 204 KB Correct answer: answer = 158008
76 Correct 1 ms 204 KB Correct answer: answer = 51860
77 Correct 1 ms 204 KB Correct answer: answer = 12985
78 Correct 3 ms 332 KB Correct answer: answer = 997864126212
79 Correct 2 ms 332 KB Correct answer: answer = 998608411647
80 Correct 2 ms 332 KB Correct answer: answer = 995265560477
81 Correct 8 ms 536 KB Correct answer: answer = 10125000
82 Correct 8 ms 540 KB Correct answer: answer = 2291668
83 Correct 5 ms 332 KB Correct answer: answer = 42388
84 Correct 5 ms 332 KB Correct answer: answer = 10318
85 Correct 6 ms 332 KB Correct answer: answer = 3416
86 Correct 10 ms 332 KB Correct answer: answer = 331708193881
87 Correct 12 ms 332 KB Correct answer: answer = 2861193756
88 Correct 10 ms 524 KB Correct answer: answer = 114646930
89 Correct 12 ms 460 KB Correct answer: answer = 9280921
90 Correct 9 ms 460 KB Correct answer: answer = 999984053400
91 Correct 10 ms 460 KB Correct answer: answer = 750935949134
92 Correct 2 ms 332 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 332 KB Correct answer: answer = 998762383161
94 Correct 12 ms 448 KB Correct answer: answer = 23017412908
95 Correct 3 ms 332 KB Correct answer: answer = 728143410622
96 Correct 2 ms 332 KB Correct answer: answer = 2
97 Correct 9 ms 540 KB Correct answer: answer = 1824916
98 Correct 8 ms 460 KB Correct answer: answer = 10680029
99 Correct 8 ms 460 KB Correct answer: answer = 18351700
100 Correct 8 ms 460 KB Correct answer: answer = 16040026
101 Correct 3 ms 332 KB Correct answer: answer = 253968628325
102 Correct 5 ms 332 KB Correct answer: answer = 10267
103 Correct 12 ms 536 KB Correct answer: answer = 2582408
104 Correct 2 ms 332 KB Correct answer: answer = 78024964781
105 Correct 3 ms 332 KB Correct answer: answer = 9866346457
106 Correct 3 ms 332 KB Correct answer: answer = 3327720949
107 Correct 2 ms 332 KB Correct answer: answer = 86064128360
108 Correct 3 ms 332 KB Correct answer: answer = 12698259150
109 Correct 9 ms 524 KB Correct answer: answer = 1185259288
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 204 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 1 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 1 ms 204 KB Correct answer: answer = 7550
17 Correct 1 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 1 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 204 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 1 ms 204 KB Correct answer: answer = 77137
28 Correct 2 ms 204 KB Correct answer: answer = 764
29 Correct 2 ms 204 KB Correct answer: answer = 250000
30 Correct 1 ms 204 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 204 KB Correct answer: answer = 130050
33 Correct 2 ms 204 KB Correct answer: answer = 5110
34 Correct 1 ms 204 KB Correct answer: answer = 2626
35 Correct 1 ms 204 KB Correct answer: answer = 796
36 Correct 2 ms 204 KB Correct answer: answer = 7580
37 Correct 2 ms 324 KB Correct answer: answer = 1904
38 Correct 2 ms 204 KB Correct answer: answer = 996004
39 Correct 2 ms 204 KB Correct answer: answer = 38817
40 Correct 2 ms 204 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 2 ms 204 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 204 KB Correct answer: answer = 9
47 Correct 1 ms 204 KB Correct answer: answer = 9
48 Correct 1 ms 204 KB Correct answer: answer = 21
49 Correct 1 ms 204 KB Correct answer: answer = 71
50 Correct 1 ms 204 KB Correct answer: answer = 77
51 Correct 1 ms 204 KB Correct answer: answer = 400
52 Correct 1 ms 204 KB Correct answer: answer = 996004
53 Correct 1 ms 204 KB Correct answer: answer = 997310
54 Correct 1 ms 204 KB Correct answer: answer = 990781
55 Correct 1 ms 204 KB Correct answer: answer = 996545
56 Correct 1 ms 204 KB Correct answer: answer = 484
57 Correct 1 ms 204 KB Correct answer: answer = 484
58 Correct 2 ms 204 KB Correct answer: answer = 63501
59 Correct 2 ms 204 KB Correct answer: answer = 323501
60 Correct 2 ms 204 KB Correct answer: answer = 752500
61 Correct 1 ms 204 KB Correct answer: answer = 761480
62 Correct 1 ms 204 KB Correct answer: answer = 758932
63 Correct 1 ms 204 KB Correct answer: answer = 1000000
64 Correct 1 ms 204 KB Correct answer: answer = 750500
65 Correct 1 ms 204 KB Correct answer: answer = 1000000
66 Correct 1 ms 204 KB Correct answer: answer = 250000
67 Correct 1 ms 204 KB Correct answer: answer = 250000
68 Correct 1 ms 204 KB Correct answer: answer = 1000000
69 Correct 1 ms 204 KB Correct answer: answer = 994009
70 Correct 1 ms 204 KB Correct answer: answer = 59315
71 Correct 1 ms 204 KB Correct answer: answer = 25454
72 Correct 2 ms 204 KB Correct answer: answer = 1504
73 Correct 1 ms 204 KB Correct answer: answer = 37486
74 Correct 1 ms 204 KB Correct answer: answer = 4284
75 Correct 1 ms 204 KB Correct answer: answer = 158008
76 Correct 1 ms 204 KB Correct answer: answer = 51860
77 Correct 1 ms 204 KB Correct answer: answer = 12985
78 Correct 3 ms 332 KB Correct answer: answer = 997864126212
79 Correct 2 ms 332 KB Correct answer: answer = 998608411647
80 Correct 2 ms 332 KB Correct answer: answer = 995265560477
81 Correct 8 ms 536 KB Correct answer: answer = 10125000
82 Correct 8 ms 540 KB Correct answer: answer = 2291668
83 Correct 5 ms 332 KB Correct answer: answer = 42388
84 Correct 5 ms 332 KB Correct answer: answer = 10318
85 Correct 6 ms 332 KB Correct answer: answer = 3416
86 Correct 10 ms 332 KB Correct answer: answer = 331708193881
87 Correct 12 ms 332 KB Correct answer: answer = 2861193756
88 Correct 10 ms 524 KB Correct answer: answer = 114646930
89 Correct 12 ms 460 KB Correct answer: answer = 9280921
90 Correct 9 ms 460 KB Correct answer: answer = 999984053400
91 Correct 10 ms 460 KB Correct answer: answer = 750935949134
92 Correct 2 ms 332 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 332 KB Correct answer: answer = 998762383161
94 Correct 12 ms 448 KB Correct answer: answer = 23017412908
95 Correct 3 ms 332 KB Correct answer: answer = 728143410622
96 Correct 2 ms 332 KB Correct answer: answer = 2
97 Correct 9 ms 540 KB Correct answer: answer = 1824916
98 Correct 8 ms 460 KB Correct answer: answer = 10680029
99 Correct 8 ms 460 KB Correct answer: answer = 18351700
100 Correct 8 ms 460 KB Correct answer: answer = 16040026
101 Correct 3 ms 332 KB Correct answer: answer = 253968628325
102 Correct 5 ms 332 KB Correct answer: answer = 10267
103 Correct 12 ms 536 KB Correct answer: answer = 2582408
104 Correct 2 ms 332 KB Correct answer: answer = 78024964781
105 Correct 3 ms 332 KB Correct answer: answer = 9866346457
106 Correct 3 ms 332 KB Correct answer: answer = 3327720949
107 Correct 2 ms 332 KB Correct answer: answer = 86064128360
108 Correct 3 ms 332 KB Correct answer: answer = 12698259150
109 Correct 9 ms 524 KB Correct answer: answer = 1185259288
110 Correct 18 ms 1484 KB Correct answer: answer = 999889968863
111 Correct 19 ms 1460 KB Correct answer: answer = 999861384931
112 Correct 17 ms 1356 KB Correct answer: answer = 999811809929
113 Correct 17 ms 1356 KB Correct answer: answer = 999869756441
114 Correct 93 ms 3456 KB Correct answer: answer = 1700000000
115 Correct 139 ms 3548 KB Correct answer: answer = 131666670
116 Correct 41 ms 1260 KB Correct answer: answer = 89478486
117 Correct 48 ms 1320 KB Correct answer: answer = 4971040
118 Correct 40 ms 1324 KB Correct answer: answer = 2711494
119 Correct 135 ms 3696 KB Correct answer: answer = 25252530
120 Correct 129 ms 3684 KB Correct answer: answer = 62500000
121 Correct 102 ms 2120 KB Correct answer: answer = 333175097780
122 Correct 114 ms 2084 KB Correct answer: answer = 33121180179
123 Correct 111 ms 2120 KB Correct answer: answer = 9802314015
124 Correct 137 ms 3684 KB Correct answer: answer = 32567551
125 Correct 131 ms 3684 KB Correct answer: answer = 997525000000
126 Correct 102 ms 2120 KB Correct answer: answer = 752723538884
127 Correct 13 ms 1460 KB Correct answer: answer = 1000000000000
128 Correct 16 ms 1356 KB Correct answer: answer = 999978000121
129 Correct 18 ms 1364 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1356 KB Correct answer: answer = 2
131 Correct 130 ms 3664 KB Correct answer: answer = 277966670
132 Correct 96 ms 3620 KB Correct answer: answer = 2500900082
133 Correct 27 ms 1484 KB Correct answer: answer = 301248349636
134 Correct 68 ms 1500 KB Correct answer: answer = 14118891
135 Correct 17 ms 1356 KB Correct answer: answer = 14384977265
136 Correct 21 ms 1476 KB Correct answer: answer = 3681368330
137 Correct 20 ms 1456 KB Correct answer: answer = 2720316816
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 204 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 1 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 1 ms 204 KB Correct answer: answer = 7550
17 Correct 1 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 1 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 204 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 1 ms 204 KB Correct answer: answer = 77137
28 Correct 2 ms 204 KB Correct answer: answer = 764
29 Correct 2 ms 204 KB Correct answer: answer = 250000
30 Correct 1 ms 204 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 204 KB Correct answer: answer = 130050
33 Correct 2 ms 204 KB Correct answer: answer = 5110
34 Correct 1 ms 204 KB Correct answer: answer = 2626
35 Correct 1 ms 204 KB Correct answer: answer = 796
36 Correct 2 ms 204 KB Correct answer: answer = 7580
37 Correct 2 ms 324 KB Correct answer: answer = 1904
38 Correct 2 ms 204 KB Correct answer: answer = 996004
39 Correct 2 ms 204 KB Correct answer: answer = 38817
40 Correct 2 ms 204 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 2 ms 204 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 204 KB Correct answer: answer = 9
47 Correct 1 ms 204 KB Correct answer: answer = 9
48 Correct 1 ms 204 KB Correct answer: answer = 21
49 Correct 1 ms 204 KB Correct answer: answer = 71
50 Correct 1 ms 204 KB Correct answer: answer = 77
51 Correct 1 ms 204 KB Correct answer: answer = 400
52 Correct 1 ms 204 KB Correct answer: answer = 996004
53 Correct 1 ms 204 KB Correct answer: answer = 997310
54 Correct 1 ms 204 KB Correct answer: answer = 990781
55 Correct 1 ms 204 KB Correct answer: answer = 996545
56 Correct 1 ms 204 KB Correct answer: answer = 484
57 Correct 1 ms 204 KB Correct answer: answer = 484
58 Correct 2 ms 204 KB Correct answer: answer = 63501
59 Correct 2 ms 204 KB Correct answer: answer = 323501
60 Correct 2 ms 204 KB Correct answer: answer = 752500
61 Correct 1 ms 204 KB Correct answer: answer = 761480
62 Correct 1 ms 204 KB Correct answer: answer = 758932
63 Correct 1 ms 204 KB Correct answer: answer = 1000000
64 Correct 1 ms 204 KB Correct answer: answer = 750500
65 Correct 1 ms 204 KB Correct answer: answer = 1000000
66 Correct 1 ms 204 KB Correct answer: answer = 250000
67 Correct 1 ms 204 KB Correct answer: answer = 250000
68 Correct 1 ms 204 KB Correct answer: answer = 1000000
69 Correct 1 ms 204 KB Correct answer: answer = 994009
70 Correct 1 ms 204 KB Correct answer: answer = 59315
71 Correct 1 ms 204 KB Correct answer: answer = 25454
72 Correct 2 ms 204 KB Correct answer: answer = 1504
73 Correct 1 ms 204 KB Correct answer: answer = 37486
74 Correct 1 ms 204 KB Correct answer: answer = 4284
75 Correct 1 ms 204 KB Correct answer: answer = 158008
76 Correct 1 ms 204 KB Correct answer: answer = 51860
77 Correct 1 ms 204 KB Correct answer: answer = 12985
78 Correct 3 ms 332 KB Correct answer: answer = 997864126212
79 Correct 2 ms 332 KB Correct answer: answer = 998608411647
80 Correct 2 ms 332 KB Correct answer: answer = 995265560477
81 Correct 8 ms 536 KB Correct answer: answer = 10125000
82 Correct 8 ms 540 KB Correct answer: answer = 2291668
83 Correct 5 ms 332 KB Correct answer: answer = 42388
84 Correct 5 ms 332 KB Correct answer: answer = 10318
85 Correct 6 ms 332 KB Correct answer: answer = 3416
86 Correct 10 ms 332 KB Correct answer: answer = 331708193881
87 Correct 12 ms 332 KB Correct answer: answer = 2861193756
88 Correct 10 ms 524 KB Correct answer: answer = 114646930
89 Correct 12 ms 460 KB Correct answer: answer = 9280921
90 Correct 9 ms 460 KB Correct answer: answer = 999984053400
91 Correct 10 ms 460 KB Correct answer: answer = 750935949134
92 Correct 2 ms 332 KB Correct answer: answer = 1000000000000
93 Correct 2 ms 332 KB Correct answer: answer = 998762383161
94 Correct 12 ms 448 KB Correct answer: answer = 23017412908
95 Correct 3 ms 332 KB Correct answer: answer = 728143410622
96 Correct 2 ms 332 KB Correct answer: answer = 2
97 Correct 9 ms 540 KB Correct answer: answer = 1824916
98 Correct 8 ms 460 KB Correct answer: answer = 10680029
99 Correct 8 ms 460 KB Correct answer: answer = 18351700
100 Correct 8 ms 460 KB Correct answer: answer = 16040026
101 Correct 3 ms 332 KB Correct answer: answer = 253968628325
102 Correct 5 ms 332 KB Correct answer: answer = 10267
103 Correct 12 ms 536 KB Correct answer: answer = 2582408
104 Correct 2 ms 332 KB Correct answer: answer = 78024964781
105 Correct 3 ms 332 KB Correct answer: answer = 9866346457
106 Correct 3 ms 332 KB Correct answer: answer = 3327720949
107 Correct 2 ms 332 KB Correct answer: answer = 86064128360
108 Correct 3 ms 332 KB Correct answer: answer = 12698259150
109 Correct 9 ms 524 KB Correct answer: answer = 1185259288
110 Correct 18 ms 1484 KB Correct answer: answer = 999889968863
111 Correct 19 ms 1460 KB Correct answer: answer = 999861384931
112 Correct 17 ms 1356 KB Correct answer: answer = 999811809929
113 Correct 17 ms 1356 KB Correct answer: answer = 999869756441
114 Correct 93 ms 3456 KB Correct answer: answer = 1700000000
115 Correct 139 ms 3548 KB Correct answer: answer = 131666670
116 Correct 41 ms 1260 KB Correct answer: answer = 89478486
117 Correct 48 ms 1320 KB Correct answer: answer = 4971040
118 Correct 40 ms 1324 KB Correct answer: answer = 2711494
119 Correct 135 ms 3696 KB Correct answer: answer = 25252530
120 Correct 129 ms 3684 KB Correct answer: answer = 62500000
121 Correct 102 ms 2120 KB Correct answer: answer = 333175097780
122 Correct 114 ms 2084 KB Correct answer: answer = 33121180179
123 Correct 111 ms 2120 KB Correct answer: answer = 9802314015
124 Correct 137 ms 3684 KB Correct answer: answer = 32567551
125 Correct 131 ms 3684 KB Correct answer: answer = 997525000000
126 Correct 102 ms 2120 KB Correct answer: answer = 752723538884
127 Correct 13 ms 1460 KB Correct answer: answer = 1000000000000
128 Correct 16 ms 1356 KB Correct answer: answer = 999978000121
129 Correct 18 ms 1364 KB Correct answer: answer = 745986144735
130 Correct 12 ms 1356 KB Correct answer: answer = 2
131 Correct 130 ms 3664 KB Correct answer: answer = 277966670
132 Correct 96 ms 3620 KB Correct answer: answer = 2500900082
133 Correct 27 ms 1484 KB Correct answer: answer = 301248349636
134 Correct 68 ms 1500 KB Correct answer: answer = 14118891
135 Correct 17 ms 1356 KB Correct answer: answer = 14384977265
136 Correct 21 ms 1476 KB Correct answer: answer = 3681368330
137 Correct 20 ms 1456 KB Correct answer: answer = 2720316816
138 Correct 35 ms 2620 KB Correct answer: answer = 999976000144
139 Correct 36 ms 2652 KB Correct answer: answer = 999856102410
140 Correct 35 ms 2616 KB Correct answer: answer = 999958401531
141 Correct 34 ms 2632 KB Correct answer: answer = 999769649944
142 Correct 34 ms 2636 KB Correct answer: answer = 999874525918
143 Correct 183 ms 6820 KB Correct answer: answer = 6050000000
144 Correct 262 ms 6896 KB Correct answer: answer = 1112500000
145 Correct 123 ms 5060 KB Correct answer: answer = 4294967296
146 Correct 170 ms 5172 KB Correct answer: answer = 87652406
147 Correct 169 ms 5280 KB Correct answer: answer = 6297664
148 Correct 162 ms 5188 KB Correct answer: answer = 196612
149 Correct 275 ms 8244 KB Correct answer: answer = 15015100
150 Correct 263 ms 8308 KB Correct answer: answer = 25000000
151 Correct 203 ms 5028 KB Correct answer: answer = 333230209550
152 Correct 204 ms 5040 KB Correct answer: answer = 917123769
153 Correct 35 ms 5028 KB Correct answer: answer = 95162
154 Correct 275 ms 8292 KB Correct answer: answer = 382616191
155 Correct 285 ms 8400 KB Correct answer: answer = 990033333400
156 Correct 35 ms 5056 KB Correct answer: answer = 990000100000
157 Correct 194 ms 7832 KB Correct answer: answer = 749998188180
158 Correct 28 ms 3780 KB Correct answer: answer = 1000000000000
159 Correct 33 ms 3868 KB Correct answer: answer = 999988000036
160 Correct 34 ms 3888 KB Correct answer: answer = 744929274393
161 Correct 24 ms 2988 KB Correct answer: answer = 2
162 Correct 34 ms 4936 KB Correct answer: answer = 1300024
163 Correct 195 ms 8196 KB Correct answer: answer = 5000700010
164 Correct 54 ms 4036 KB Correct answer: answer = 354997100800
165 Correct 130 ms 4236 KB Correct answer: answer = 257000
166 Correct 135 ms 4384 KB Correct answer: answer = 3765323
167 Correct 131 ms 4260 KB Correct answer: answer = 1525903
168 Correct 35 ms 4012 KB Correct answer: answer = 67618137730
169 Correct 35 ms 3996 KB Correct answer: answer = 12656680171
170 Correct 40 ms 4016 KB Correct answer: answer = 579831736
171 Correct 92 ms 5056 KB Correct answer: answer = 23605611
172 Correct 40 ms 3980 KB Correct answer: answer = 7052481200
173 Correct 34 ms 4136 KB Correct answer: answer = 1314039500
174 Correct 34 ms 4296 KB Correct answer: answer = 302484000
175 Correct 133 ms 6000 KB Correct answer: answer = 52348480