📄 1846672_ce.c
字号:
#include <iostream>
using namespace std;
long n, a[200001];
long min(long i,long j)
{
long li,s;
s = a[i];
if(i == j) return s;
for(li = i + 1; li <= j; li++)
if(a[li] < s)
s = a[li];
return s;
}
long sum(long i,long j)
{
long s; long li;
s = a[i];
for(li = i + 1; li <= j; li++)
s += a[li];
return s;
}
long f(long i,long j)
{
return (sum(i,j) * min(i,j));
}
int main()
{
long s, t, ma, mb, mm, nn;
long li, lj;
long max1,tmp,max;
max = mm = nn = -1;
cin>>n;
for(li = 0; li < n; li++)
scanf("%ld",&a[li]);
for(li = 0; li <n; li++)
{
tmp = max1 = a[li] * a[li];
for(lj = li + 1; lj < n; lj++)
{
s = min(li,lj-1);
t = sum(li,lj);
if(a[lj] >= s) {tmp = f(li,lj);if(tmp >= max1) max1 = tmp; ma = li; mb = lj; continue;}
if(t * a[lj] >= (t - a[lj]) * s ) {tmp = f(li,lj);if(tmp >= max1) ma = li; mb = lj;max1 = tmp;}
}
if( max1 >= max)
{max = max1;mm = ma;nn = mb;}
}
cout<<max<<endl;
cout<<mm+1<<" "<<nn+1<<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -