제가 작성한 알고리즘인데요...
이게 그렇게 느려보이나요?ㅠㅠㅠ....
루프 딱 한번도는뎅;;;
#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;
}
공상가
제가 작성한 알고리즘인데요...
이게 그렇게 느려보이나요?ㅠㅠㅠ....
루프 딱 한번도는뎅;;;
#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년 전