제출 #22069

#제출 시각아이디문제언어결과실행 시간메모리
22069연습 세션과 본 대회의 등록은 왜 따로일까 (#42)다항식 계산 (KRIII5P_2)C++14
7 / 7
246 ms8928 KiB
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>

using namespace std;

long long arr[1000010];

int main()
{
    int n, p, i, j;
    long long c, r;
    scanf("%d%d", &n, &p);
    for(i = n; i>=0; i--)
        scanf("%lld", &arr[i]);

    if(p == 2)
    {
        printf("%lld\n", arr[0] % p);
        r = 0;
        for(i = 0; i<=n; i++)
        {
            r += arr[i];
            r %= p;
        }
        printf("%lld", r);
        return 0;
    }

    printf("%lld\n", arr[0] % p);

    for(i = p-1; i<=n; i++)
    {
        arr[i%(p-1)] += arr[i];
        arr[i%(p-1)] %= p;
    }
    
    for(i = 1; i<p; i++)
    {
        c = 1;
        r = 0;
        for(j = 0; j<p-1; j++)
        {
            r += arr[j] * c;
            c *= i;

            r %= p;
            c %= p;
        }

        printf("%lld\n", r);
    }
    return 0;
}

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

pc.cpp: In function 'int main()':
pc.cpp:14:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &p);
                          ^
pc.cpp:16:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld", &arr[i]);
                               ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...