제출 #941283

#제출 시각아이디문제언어결과실행 시간메모리
941283sleepntsheepLottery (CEOI18_lot)C11
25 / 100
31 ms65536 KiB
#include<stdio.h>

#define N 10001
int n,l,q,a[N];
short ans[N][N];
short dp[N*(N+1)/2];

int pos(int x,int y)
{
    return (y+1ll)*(y+2)/2+x;
}

int main()
{
    scanf("%d%d",&n,&l);
    for(int i=1;i<=n;++i)scanf("%d",a+i);
    for(int i=1;i<=n;++i)for(int j=i+1;j<=n;++j)dp[pos(i,j)]=(a[i]!=a[j]);
    for(int i=1;i<=n;++i)for(int j=i+1;j<=n;++j)dp[pos(i,j)]+=dp[pos(i-1,j-1)];

    for(int i=1;i+l-1<=n;++i)for(int j=i+1;j+l-1<=n;++j)
    {
        int d=dp[pos(i+l-1,j+l-1)]-dp[pos(i-1,j-1)];
        ans[i][d]++;
        ans[j][d]++;
    }
    for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)ans[i][j]+=ans[i][j-1];
    scanf("%d",&q);
    for(int u;q--;)
    {
        scanf("%d",&u);
        for(int i=1;i+l-1<=n;++i)printf("%d ",ans[i][u]);
        puts("");
    }
}

컴파일 시 표준 에러 (stderr) 메시지

lot.c: In function 'main':
lot.c:15:5: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%d%d",&n,&l);
      |     ^~~~~~~~~~~~~~~~~~~
lot.c:16:26: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     for(int i=1;i<=n;++i)scanf("%d",a+i);
      |                          ^~~~~~~~~~~~~~~
lot.c:27:5: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |     scanf("%d",&q);
      |     ^~~~~~~~~~~~~~
lot.c:30:9: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |         scanf("%d",&u);
      |         ^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...