Submission #344992

# Submission time Handle Problem Language Result Execution time Memory
344992 2021-01-06T21:07:42 Z Iwanttobreakfree Miners (IOI07_miners) C++
34 / 100
7 ms 620 KB
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
int ship,production=0,cont1,cont2,production1,production2;
using namespace std;
string mine1;
string mine2;
int main(){
	while(cin>>ship){
	char food[ship];
	for(int a=0;a<ship;a++){
		cin>>food[a];
	}
	cont1=1;
	cont2=0;
	mine1[0]=food[0];
	production=1;
	
	for(int b=1;b<ship;b++){	
		if(cont1==1&&cont2==0){
			if(food[b]!=mine1[cont1-1]) mine1[cont1]=food[b],cont1++,production+=2;
			else mine2[cont2]=food[b],cont2++,production++;
		}
		else if(cont1>=2&&cont2==0){
			if(food[b]!=mine1[cont1-1]&&mine1[cont1-1]!=mine1[cont1-2]&&food[b]!=mine1[cont1-2]) mine1[cont1]=food[b],cont1++,production+=3;
			else mine2[cont2]=food[b],cont2++,production++;
		}
		else if(cont1==1&&cont2==1){
			if(food[b]!=mine1[cont1-1]) mine1[cont1]=food[b],cont1++,production+=2;
			else if(food[b]!=mine2[cont2-1]) mine2[cont2]=food[b],cont2++,production+=2;
			else mine1[cont1]=food[b],cont1++,production++;
		}
		else if(cont1>=2&&cont2==1){
			if(food[b]!=mine1[cont1-1]&&mine1[cont1-1]!=mine1[cont1-2]&&food[b]!=mine1[cont1-2]) mine1[cont1]=food[b],cont1++,production+=3;
			else if(food[b]!=mine2[cont2-1])mine2[cont2]=food[b],cont2++,production+=2;
			else if(food[b]!=mine1[cont1-1]||food[b]!=mine1[cont1-2]||mine1[cont1-1]!=mine1[cont1-2])mine1[cont1]=food[b],cont1++,production+=2;
			else mine1[cont1]=food[b],cont1++,production++;
		}
		else{
		if(food[b]!=mine1[cont1-1]&&mine1[cont1-1]!=mine1[cont1-2]&&food[b]!=mine1[cont1-2]) mine1[cont1]=food[b],cont1++,production+=3;
		else if(food[b]!=mine2[cont2-1]&&mine2[cont2-1]!=mine2[cont2-2]&&food[b]!=mine2[cont2-2]) mine2[cont2]=food[b],cont2++,production+=3;
		else if(food[b]!=mine1[cont1-1]||food[b]!=mine1[cont1-2]||mine1[cont1-1]!=mine1[cont1-2])mine1[cont1]=food[b],cont1++,production+=2;
		else if(food[b]!=mine2[cont2-1]||food[b]!=mine2[cont2-2]||mine2[cont2-1]!=mine2[cont2-2])mine2[cont2]=food[b],cont2++,production+=2;
		else mine1[cont1]=food[b],cont1++,production++;
	}
	}
	cout<<production<<endl;	
}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 364 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 364 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 492 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 620 KB Execution killed with signal 11 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 7 ms 620 KB Execution killed with signal 11 (could be triggered by violating memory limits)