首页 > 代码库 > PAT 01-2
PAT 01-2
#include<stdio.h> #include<stdlib.h>int main(){ int k; int *data; int i; int ThisSum, MaxSum, FirstNum, LastNum, tempFir, tempLas; while(scanf("%d", &k) != EOF) { data = (int *)malloc(k * sizeof(int)); for(i = 0; i < k; i++) { scanf("%d", &data[i]); } ThisSum = 0; MaxSum = 0; FirstNum = 0; LastNum = k - 1; tempFir = 0; tempLas = 0; for(i = 0; i < k; i++) { if(ThisSum >= 0) { ThisSum += data[i]; tempLas = i; } else { ThisSum = data[i]; tempFir = i; tempLas = i; } if(ThisSum > MaxSum || ((LastNum == k - 1)&&(ThisSum == 0))) { MaxSum = ThisSum; FirstNum = tempFir; LastNum = tempLas; } } printf("%d %d %d", MaxSum, data[FirstNum], data[LastNum]); }}
PAT 01-2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。