Submission #154223

#TimeUsernameProblemLanguageResultExecution timeMemory
154223mhy908Calvinball championship (CEOI15_teams)C++14
0 / 100
4 ms504 KiB
#include <bits/stdc++.h> #define mod 1000007 using namespace std; typedef long long LL; int n; int arr[10010], maxx; int newp[10010]; LL dp[10010]; LL temp=1, t2; LL power(LL a, LL b) { if(b==0)return 1; LL ret=power(a, b/2); if(b%2)return ret*ret%mod*a%mod; return ret*ret%mod; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++){ scanf("%d", &arr[i]); maxx=max(maxx, arr[i]); newp[i]=maxx; } dp[n+1]=1; t2=n+1; for(int i=n; i>=1; i--){ if(newp[i-1]==newp[i]){ temp+=(arr[i]-1)*power(newp[i], t2-i-1); } else{ temp+=(arr[i]-1)*power(newp[i], t2-i-1); dp[i]=temp*dp[t2]%mod; t2=i; temp=1; } } printf("%lld", dp[1]); } // 16603

Compilation message (stderr)

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