Submission #1771637


Source Code Expand

#include <iostream>
using namespace std;

const long mod 1000000007

long *initial_sort(long &max);
void cal (long *a1, long *a2 ,long *b, long max);
void cal (long *a1, long *a2, long max);
long sum (long *a, long *b,long max);

int main(void) {
    long max = 1;
    long *a1;
    a1 = initial_sort(max);
    long *a2 = new long[(max/2)/2+1];
    long *a3 = new long[max/2+1];
    long *a4 = new long[max+1];

    cal (a1,a2,(max/2)/2);
    cal (a2,a3,a1,max/2);
    cal (a3,a4,a1,max);

    cout << sum (a4,a1,max) << endl;

    return 0;
}

void cal (long *a1, long *a2 ,long *b, long max)
{
    a2[0] = a2[1] = 0;
    for (long i = 2;i <= max;i ++){
        a2[i] = a2[i-2] + a1[i/2]*b[i/2];
    }
}

void cal (long *a1, long *a2, long max)
{
    a2[0] = a2[1] = 0;
    for (long i = 2;i <= max;i++){
        a2[i] = a2[i-2] + a1[i/2];
    }
}

long sum (long *a, long *b, long max)
{
    long result = 0;
    for (long i = 0;i <= max;i ++){
        result += a[i]*b[i];
        result = result % mod;
    }
    return result;
}

long *initial_sort(long &max)
{
    long N,M;
    cin >> N;
    long *init = new long[1+(long)10e5];
    for (long i = 0;i <= 10e5;i ++) init[i] = 0;
    for (long i = 0;i < N;i ++){
        cin >> M;
        if (max < M) max = M;
        init[M] ++;
    }
    return init;
}

Submission Info

Submission Time
Task B - 難易度
User ran159357
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1375 Byte
Status CE

Compile Error

./Main.cpp:4:16: error: expected initializer before numeric constant
 const long mod 1000000007
                ^
./Main.cpp: In function ‘int main()’:
./Main.cpp:14:26: error: ‘initial_sort’ was not declared in this scope
     a1 = initial_sort(max);
                          ^
./Main.cpp: In function ‘long int sum(long int*, long int*, long int)’:
./Main.cpp:49:27: error: ‘mod’ was not declared in this scope
         result = result % mod;
                           ^