Submission
Status:
[PP-][P-SSSS][-S]
Score: 0
User: TirpitZ
Problemset: ช่างไฟ
Language: c
Time: 0.146 second
Submitted On: 2024-09-28 19:10:04
#include<stdio.h>
#include<stdlib.h>
long lastminus(long* arr,long lon)
{
long cnt=-1;
for(long i=0; i<lon; i++)
{
if(*(arr+i)<0) cnt=i;
// printf("%d\n",*(arr+i));
}
return cnt;
}
int main()
{
long n;
scanf("%ld",&n);
long a[n];
for(long i=0; i<n; i++)
{
scanf("%ld",&a[i]);
}
/*for(int i=0;i<n;i++)
{
printf("%d",a[i]);
}*/
long long sum=0;
long long left=0;
long last=lastminus(&a[0],n);
//printf("%d\n",last);
sum=a[0]+a[1];
if(n==2)
{
if(sum<0) sum=sum*(-1);
printf("%lld",sum);
return 0;
}
for(long i=2; i<=last; i++)
{
left=left+a[i];
}
//printf("%d\n",left);
for(long i=2; i<=last; i++)
{
if(left>0)
{
if(sum<0)
{
sum=sum*(-1);
}
}
sum=sum+a[i];
left=left-(a[i]);
}
if(sum<0) sum=sum*(-1);
for(long k=last+1;k<n;k++)
{
sum=sum+a[k];
}
printf("%lld",sum);
}