Submission #44745

#TimeUsernameProblemLanguageResultExecution timeMemory
44745RayaBurong25_1Calvinball championship (CEOI15_teams)C++17
20 / 100
116 ms16764 KiB
#include <stdio.h>
#define MOD 1000000007LL
int n;
int a[10005];
int dp[1005][2005];
int max(int a, int b)
{
    return (a > b)?a:b;
}
int main()
{
    scanf("%d", &n);
    int i, j;
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);
    for (i = 0; i <= n; i++)
    {
        for (j = 1; j <= 2*n; j++)
        {
            if (i == 0)
                dp[i][j] = 1;
            else if (j + 1 <= 2*n)
                dp[i][j] = (j*dp[i - 1][j] + dp[i - 1][j + 1])%MOD;
            // if (j <= 2*n - i)
                // printf("%d ", dp[i][j]);
        }
        // printf("\n");
    }
    int ans = 1, mx = 0;
    for (i = 0; i < n; i++)
    {
        for (j = 1; j < a[i]; j++)
            ans = (ans + dp[(n - 1) - i][max(mx, j)])%MOD;
        mx = max(mx, a[i]);
    }
    printf("%d", ans);
}

Compilation message (stderr)

teams.cpp: In function 'int main()':
teams.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
teams.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i]);
         ~~~~~^~~~~~~~~~~~~
#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...
#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...