Submission #1153789

#TimeUsernameProblemLanguageResultExecution timeMemory
1153789i271828Po (COCI21_po)C++20
50 / 70
1095 ms1520 KiB
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
using namespace std;

const int MAX=100005;

int N=6;
int A[MAX]={1,2,3,2,1,3};

bool done=false;

int main(){
	cin>>N;
	for (int i=0;i<N;i++) cin>>A[i];
	
	int ans=0;
	while (!done){
		vector<int> pos;
		pos.push_back(-1);
		for (int i=0;i<N;i++) if (A[i]==0) pos.push_back(i);
		pos.push_back(N);
		for (int i=0;i<pos.size()-1;i++){
			int min_v=1<<30;
			for (int x=pos[i]+1;x<pos[i+1];x++){
				min_v = min(min_v,A[x]);
			}
			for (int x=pos[i]+1;x<pos[i+1];x++){
				A[x]-=min_v;
			}
			if (min_v!=1<<30){
				//cout<<pos[i]<<' '<<pos[i+1]<<' '<<pos.size()<<'\n';
				ans++;
			}
			if (pos.size()==N+2) done=true;
		}
	}
	cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...