This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |