1 条题解
-
0
C++ :
#include <iostream> using namespace std; int b[1005], a[1005]; const int INF = 1000000000; int main(){ int n, MAX; while(cin >> n && n){ b[0] = 0; MAX = -INF; for(int i = 1; i <= n; ++i){ cin >> a[i]; b[i] = a[i]+b[i-1]; } for(int i = 0; i < n; ++i) for(int j = i+1; j <= n; ++j) if(b[j]-b[i] > MAX) MAX = b[j]-b[i]; cout << MAX << endl; } return 0; }
Java :
import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()){ int n=in.nextInt(); if(n==0) break; int a[]=new int[n]; for(int i=0;i<n;i++){ a[i]=in.nextInt(); } int sum=a[0]; for(int i=0;i<n;i++){ if(a[i]>sum) sum=a[i]; } for(int i=0;i<n;i++){ for(int j=n-1;j>i;j--){ int add=a[i]; for(int k=i;k<j;k++){ add+=a[k+1]; if(add>=sum) sum=add; } } } System.out.println(sum); } } }
- 1
信息
- ID
- 930
- 时间
- 5000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者