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;
}