⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1846963_re.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
# include <stdio.h>

int main()
{
 int mark, flag;
 __int64  sum[10001], SUM, max;
 long i, n, a[100001], x, y, mx, my;

 scanf("%ld",&n);
 sum[0] = 0;
 for(i = 1; i <= n; i++)
 {
	 scanf("%ld",&a[i]);
	 sum[i] = sum[i-1] + (__int64)a[i];
 }
max = 0; mx = my = 1;
 for(i = 1; i <= n; i++)
 {
	 if(!a[i]) continue;
	 mark = flag = 0;
	 x = i - 1; y = i + 1;
	 while(1)
	 {
		 if(!flag)
			 if(a[x] < a[i]) {x++;flag=1;}
			 else x--;
		 if(!mark)
			 if(a[y] < a[i]) {y--;mark=1;} 
			 else y++;
		 if(mark&&flag) break;
	 }
	 if(x == 0) x = 1;
     if(y == n + 1) y = n;
		SUM = (sum[y] - sum[x] + (__int64)a[x]) * (__int64)a[i];
        if(SUM >= max)
     {max = SUM;mx = x; my = y;}
 }
 printf("%I64d\n%ld %ld\n",max,mx,my);
 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -