Submission

Status:

PPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Jokul

Problemset: แตกต่างกัน

Language: c

Time: 0.012 second

Submitted On: 2025-06-06 17:11:11

#include <stdio.h>
void sakamoto_store(int *store,int n) {
 int lex,dupe=0;
int count=0,check=0,ans=((n*(n+1))/2);
lex=((n*(n+1))/2)+n;
int sum[lex];
sum[0]=0;
for(int i=0;i<n;i++)
{
    for(int j=i;j<n;j++)
{
    count++;
    sum[count]=sum[count-1]+store[j];

}
    count++;
    sum[count]=0;
}
 for (int i = 0; i < count; i++) {
            for(int j=i+1;j<count;j++)
            {
                if(sum[i]==sum[j]&&i!=j&&sum[i]!=0&&sum[j]!=0)
                {
                    dupe++;
                    break;
                }
            }
        }
        ans=ans-dupe;
        printf("%d",ans);
}

int main() {
    int n;
    scanf("%d",&n);
    int store[n];
    for (int i=0; i<n; i++) {
        scanf("%d", &store[i]);
    }
    sakamoto_store(store, n);

    return 0;
}