Am facut un program mai ineficient la problema intervale2 din arhiva monthly dar nu inteleg ce are

.....imi scrie punctaj per test 10 la 4 din teste si in mod normal ar trebui sa iau 40 de puncte

dar eu iau 0!

De ce?

Intrati si pe
http://infoarena.ro/job_detail/785959 pentru a vedea borderoul de evaluare.
Si sursa mea este urmatoarea:
using namespace std;
#include<stdio.h>
int n,a[100001],p,i,j,k;
int main()
{
freopen("intervale2.in","r",stdin);
freopen("intervale2.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{
k=0;
scanf("%d",&p);
for(j=p;j<=i;j++)
{
if(a[j]>a[i])k++;
}
printf("%d ",k);
}
printf("\n");
return 0;
}
Multumesc anticipat!
Editat de admin:
1. Intrebarile legate de o problema se posteaza in topicul problemei
2. Cand postezi cod / fragmente de cod pe forum trebuie sa folosesti tag-ul code