Submission #493012

#TimeUsernameProblemLanguageResultExecution timeMemory
493012irmuunBigger segments (IZhO19_segments)C++17
13 / 100
1581 ms324 KiB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
#define ff first
#define ss second
#define PI 3.14159265359
ll n,m,t,p,h[500001],a[500001],b,c,d,e,f,i,j,k,mod=1000000007,mod1=998244353,MAX=1e18,sum;
string s,u;
ll df[101];
vector<ll>v;
vector<ll>dv[101];
void dfs(ll x){
    df[x]=1;
    for(ll i=0;i<dv[x].size();i++){
        if(df[dv[x][i]]==0){
            dfs(dv[x][i]);
        }
    }
}
ll fastPow(ll a,ll b){
    ll d=1;
    while(b>0){
        if(b%2==1){
            d=d*a%mod;
        }
        b/=2;
        a=a*a%mod;
    }
    return d;
}
int main(){
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>a[i];
	}
	b=fastPow(2,n-1);
	ll ans=0;
	for(i=1;i<=b;i++){
		d=i;
		h[n]=i;
		for(j=1;j<n;j++){
			if(d%2==1){
				h[j]=i;
			}
			d/=2;
		}
		sum=0;
		for(j=1;j<=n;j++){
			sum+=a[j];
			if(h[j]==i){
				v.pb(sum);
				sum=0;
			}
		}
		k=0;
		for(j=1;j<v.size();j++){
			if(v[j]<v[j-1]){
				k=1;
				break;
			}
		}
		if(k==0){
			c=v.size();
			ans=max(c,ans);
		}
		v.clear();
	}
	cout<<ans;
}

Compilation message (stderr)

segments.cpp: In function 'void dfs(long long int)':
segments.cpp:15:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for(ll i=0;i<dv[x].size();i++){
      |                ~^~~~~~~~~~~~~
segments.cpp: In function 'int main()':
segments.cpp:57:12: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |   for(j=1;j<v.size();j++){
      |           ~^~~~~~~~~
#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...