dearsanta   7년 전

코드 1.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{

int n;
int m=0;

cin>>n;
vector<int> a(n);
vector<int> d(n);
cin>>a[0];
d[0] = a[0];

for (int i = 1; i <n; ++i)
{
cin>>a[i];
d[i] = max(d[i-1]+a[i],a[i]);
}

for (int i = 0; i <n; ++i)
if (m<d[i]) m = d[i];

cout<<m;

return 0;
}

코드 1 은 틀렸습니다 가나오고

아래의 코드는 성공이 나옵니다.

위의 코드가 어떤 케이스에서 틀리게 되는 것인지 궁금합니다.

shashack   7년 전

초기화 문제 같네요?

위 코드에서 최대 값 뽑아내기 전에 

m = d[0];

한 줄 넣으니까 패스됩니다.

댓글을 작성하려면 로그인해야 합니다.