Submission #94146

#TimeUsernameProblemLanguageResultExecution timeMemory
94146hamzqq9Nizin (COCI16_nizin)C++14
100 / 100
90 ms4200 KiB
#include<bits/stdc++.h>
#define st first
#define nd second
#define pb push_back
#define ppb pop_back
#define ppf pop_front
#define umax(x,y) x=max(x,y)
#define umin(x,y) x=min(x,y)
#define ll long long
#define ii pair<int,int>
#define iii pair<ii,int>
#define iiii pair<ii,ii>
#define sz(x) ((int) x.size())
#define orta ((bas+son)/2)
#define all(x) x.begin(),x.end()
#define dbgs(x) cerr<<(#x)<<" --> "<<(x)<<" "
#define dbg(x) cerr<<(#x)<<" --> "<<(x)<<endl;getchar()
#define pw(x) (1<<(x))
#define inf 1000000000000000000ll
#define MOD 1000000007
#define N 1000006
#define M 15000005
#define LOG 20
#define KOK 650
#define EPS 0.00001
using namespace std;

int n;
int a[N];

int main() {

//	freopen("input.txt","r",stdin);

	scanf("%d",&n);

	for(int i=1;i<=n;i++) {

		scanf("%d",a+i);

	}

	int ptr=n+1;

	int ans=n-1;

	ll pre=0;
	ll suf=0;

	int lans=-1,rans=-1;

	for(int i=1;i<=n && ptr>i;i++) {

		pre+=a[i];

		lans++;

		while(ptr-1>i && suf+a[ptr-1]<=pre) {

			suf+=a[--ptr];

			rans++;

		}

		if(suf==pre) {

			umin(ans,lans+rans+max(0,(ptr-i-1)-1));

			lans--;
			rans--;

		}

	}

	printf("%d",ans);

}

Compilation message (stderr)

nizin.cpp: In function 'int main()':
nizin.cpp:35:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
nizin.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",a+i);
   ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...