NYOJ-44 - 하위 꼬치와

2711 단어 동적 기획
하위 문자열과 시간 제한: 5000ms | 메모리 제한: 65535KB 난이도: 3 설명은 정형 수열 {a1,a2.,an}을 지정하고 연속 비빈 하위 문자열 {ax,ax+1,...,ay}을 찾아서 이 하위 서열의 크기를 최대화시킵니다. 그 중에서 1<=x<=y<=n.첫 번째 줄을 입력하면 테스트 데이터의 그룹 수를 나타내는 정수 N(N<=10)이 있고 각 그룹의 테스트 데이터의 첫 번째 줄은 하나의 정수 n으로 서열에 모두 n개의 정수가 있음을 나타낸다. 그 다음 줄에는 n개의 정수 I(-100=사고방식: 한 수를 입력하는 동시에 누적되기 시작하고 최대치를 실시간으로 업데이트한다.처음에 너무 많이 생각했어요. 이전의 동적 기획 제목의 영향을 받아 두 개의 for순환을 끼워야 한다고 생각했는데 사실은 정말 많이 생각했어요...
코드
#include<stdio.h>
#include<string.h>
#include<stack>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[1000005];
int main()
{
    int N;
    scanf("%d",&N);
    while(N--)
    {
        int n;
        int sum=-100;//      
        scanf("%d",&n);
        for(int i=1; i<=n; i++)
        {
            scanf("%d",&a[i]);
            if(a[i-1]>0)//        0
                a[i]=a[i]+a[i-1];//          
            if(a[i]>sum)//       
                sum=a[i];
        }
        printf("%d
"
,sum); } return 0; }

좋은 웹페이지 즐겨찾기