CSES - Datatähti 2017 alku - Results
Submission details
Task:Maalarit
Sender:gokuha
Submission time:2016-10-16 23:24:11 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#10.15 s1details
#20.05 s1details
#30.06 s1details
#40.15 s1details
#50.14 s1details
#6ACCEPTED0.05 s1details
#70.15 s2details
#80.14 s2details
#90.15 s2details
#100.15 s2details
#110.14 s2details
#12ACCEPTED0.05 s2details
#130.15 s3details
#140.15 s3details
#150.14 s3details
#160.14 s3details
#170.14 s3details
#18ACCEPTED0.05 s3details
#190.19 s4details
#200.20 s4details
#210.19 s4details
#220.20 s4details
#230.19 s4details
#24ACCEPTED0.07 s4details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:47:20: warning: 'max1p' may be used uninitialized in this function [-Wmaybe-uninitialized]
  cout<<max2+k[max1p]<<" "<<2<<endl;
                    ^
input/code.cpp:55:46: warning: 'max2p' may be used uninitialized in this function [-Wmaybe-uninitialized]
  maxi=max(max(k[a-1], k[a+1]),max(k[a+2], k[b+1]));}
                                              ^
input/code.cpp:46:12: warning: 'pmaxp' may be used uninitialized in this function [-Wmaybe-uninitialized]
 if (k[max2p-1]>=max2 or k[max2p+1]>=max2){
            ^

Code

#include<iostream>
#include<vector>
using namespace std;
int main(){
int n;
cin>>n;
int x;
int k[n];
int pmax;
int ptonmax;
pmax=ptonmax=0;
int ptonmaxp;
int pmaxp;
for(int i=0; i<n; i+=1){
	cin>>x;
	k[i]=x;
	if (i%2==1 and x>ptonmax){
		ptonmax=x;
		ptonmaxp=i;}
	else{ if(i%2==0 and x>pmax){ 
		pmax=x;
		pmaxp=i;}}}
int max1p;
int max2;
int max2p;
int mini;
int maxi;
int aita[10];
int a;
a=min(max1p, max2p);
int b;
int c=0;
int d=0;
int p=1;
int palkka=1000;
vector<int> g;
b=max(max1p, max2p);
if(ptonmax<pmax){
pmaxp=max1p;
max2=ptonmax;
max2p=ptonmaxp;}
else{
ptonmaxp=max1p;
max2=pmax;
max2p=pmaxp;}
if (k[max2p-1]>=max2 or k[max2p+1]>=max2){
	cout<<max2+k[max1p]<<" "<<2<<endl;
	for (int i=0; i<n; i+=1){
		cout<<i%2+1<<" ";}}
else{
aita[a]=1;
aita[b]=1;
if(abs(max1p-max2p)<min(max1p, max2p) and abs(max1p-max2p)<n-1-max(max1p, max2p)){
	mini=min(k[a+1],k[a+2]);
	maxi=max(max(k[a-1], k[a+1]),max(k[a+2], k[b+1]));}
for(c=0; c<8; c+=1){
d=c;
if (mini+maxi<palkka){
	palkka=mini+maxi;
	g=vector<int>(aita, aita+n);
	fill_n(aita, n, 0);}
for(int i=0; i<n; i+=1){
	if(i-1==0){}
	if(i-2==0){
		if(aita[i+1]==1){
			maxi=max(k[i],maxi);
			aita[i-1]=1;
			aita[i]=2;}}
	else{
		if(aita[i-1]!=1 and aita[i+1]!=1 and aita[i]!=1){
				if (aita[i-2]!=1){
					if ((p==1 and d%2==1) or (d-p>0 and d%p==0)){
						aita[i-1]=1;
						aita[i-2]=2;
						d-=p;
						maxi=max(k[i-2],maxi);}
					else{aita[i]=1;
						maxi=max(max(k[i-2], k[i-1]),maxi);
						mini=max(mini, min(k[i-2], k[i-1]));
						if(k[i-2]<k[i-1]){
							aita[i-2]=3;
							aita[i-1]=2;}
						else{
							aita[i-2]=2;
							aita[i-1]=3;}}}
				else{if(aita[i+2]==1){aita[i-1]=2; aita[i]=1;
					aita[i+1]=2;}}}
		if(aita[i-1]==1){
			maxi=max(maxi, k[i]);
			aita[i]=2;
			if(aita[i+2]==1){
				if(aita[i]<aita[i+1]){
					aita[i]=3;
					aita[i+1]=2;}
				else{
				aita[i]=2;
				aita[i+1]=3;}
				maxi=max(maxi, k[i+1]);
				mini=max(mini, min(k[i], k[i+1]));}}
		if(mini+maxi>palkka){
			break;}
}}}
cout<<n<<" "<<palkka<<3;
for(int v=0; v<n; v+=1){
cout<<g[v]<<" ";
}}}
	
	

Test details

Test 1

Group: 1

Verdict:

input
10
22 54 3 91 69 90 40 29 83 71

correct output
174 3
2 1 2 1 2 1 2 1 2 1 

user output
(empty)

Test 2

Group: 1

Verdict:

input
10
49 3 96 38 90 18 92 74 83 1

correct output
170 3
1 2 1 2 1 2 1 2 1 2 

user output
123 2
1 2 1 2 1 2 1 2 1 2 

Test 3

Group: 1

Verdict:

input
10
46 3 41 30 16 17 12 93 80 81

correct output
173 3
2 1 2 1 2 1 2 1 2 1 

user output
126 2
1 2 1 2 1 2 1 2 1 2 

Test 4

Group: 1

Verdict:

input
10
46 8 95 85 82 73 82 92 53 90

correct output
187 3
1 2 1 2 1 2 1 2 1 2 

user output
(empty)

Test 5

Group: 1

Verdict:

input
10
41 18 61 59 40 96 5 2 74 38

correct output
159 3
2 1 2 1 2 1 2 3 1 2 

user output
(empty)

Test 6

Group: 1

Verdict: ACCEPTED

input
10
1 1 1 1 1 1 1 1 1 1

correct output
2 3
2 1 2 1 2 1 2 1 2 1 

user output
2 2
1 2 1 2 1 2 1 2 1 2 

Test 7

Group: 2

Verdict:

input
100
1 39 94 5 24 84 84 10 78 61 38...

correct output
193 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 8

Group: 2

Verdict:

input
100
31 73 18 88 49 28 66 5 32 48 9...

correct output
199 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 9

Group: 2

Verdict:

input
100
45 56 36 60 31 10 23 79 29 17 ...

correct output
198 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 10

Group: 2

Verdict:

input
100
1 77 70 62 21 68 40 54 90 62 1...

correct output
194 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 11

Group: 2

Verdict:

input
100
4 47 41 81 56 64 12 10 20 100 ...

correct output
189 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 12

Group: 2

Verdict: ACCEPTED

input
10
1 1 1 1 1 1 1 1 1 1

correct output
2 3
2 1 2 1 2 1 2 1 2 1 

user output
2 2
1 2 1 2 1 2 1 2 1 2 

Test 13

Group: 3

Verdict:

input
100
256160448 813097800 167146270 ...

correct output
1929869257 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 14

Group: 3

Verdict:

input
100
520002672 3542567 24668528 959...

correct output
1946957555 3
1 2 3 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 15

Group: 3

Verdict:

input
100
483158423 780224665 844754665 ...

correct output
1959373560 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 16

Group: 3

Verdict:

input
100
969647264 128558017 889036329 ...

correct output
1997942264 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 17

Group: 3

Verdict:

input
100
745018527 400495893 635468795 ...

correct output
1961391143 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 18

Group: 3

Verdict: ACCEPTED

input
10
1 1 1 1 1 1 1 1 1 1

correct output
2 3
2 1 2 1 2 1 2 1 2 1 

user output
2 2
1 2 1 2 1 2 1 2 1 2 

Test 19

Group: 4

Verdict:

input
100000
197349274 775463806 263930657 ...

correct output
1999942635 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 20

Group: 4

Verdict:

input
100000
102296405 34648120 320393597 9...

correct output
1999930943 3
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ...

user output
(empty)

Test 21

Group: 4

Verdict:

input
100000
781254921 418252056 502363453 ...

correct output
1999987794 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 22

Group: 4

Verdict:

input
100000
849784881 230439009 455097426 ...

correct output
1999979439 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 23

Group: 4

Verdict:

input
100000
851456132 13422224 537539701 4...

correct output
1999948226 3
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

user output
(empty)

Test 24

Group: 4

Verdict: ACCEPTED

input
100000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
2 3
3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 ...

user output
2 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...