188-최대연속부분합...

  • 공상가
    공상가

    제가 작성한 알고리즘인데요...
    이게 그렇게 느려보이나요?ㅠㅠㅠ....
    루프 딱 한번도는뎅;;;
    #include
    using namespace std;
    int main ()
    {
    int c;
    cin >> c;
    while (c--)
    {
    int v_cnt, val[100000];
    int i, j, sum, max;
    cin >> v_cnt;
    cin >> val[0];
    sum = val[0];
    max = val[0];
    j = 0;
    for (i = 1; i < v_cnt; i++)
    {
    cin >> val[i];
    if (sum + val[i] >= sum)
    {
    sum += val[i];
    if (sum - val[j] >= sum)
    sum -= val[j++];
    }
    else
    {
    j = i;
    if (sum > max)
    max = sum;
    sum = val[i];
    }
    }
    if (sum > max)
    max = sum;
    cout << max << endl;
    }
    return 0;
    }

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]

    14년 전
1개의 댓글이 있습니다.
  • VOCList
    VOCList

    입력출력을 scanf, printf로 바꿔보세요. 이 문제는 입력이 매우 큰데요, cin, cout은 입출력 속도가 scanf printf에 비해 현저히 떨어집니다. 아마 바꾸시면 TLE는 안날 것 같네요 ㅠ


    14년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.