結果
問題 |
No.801 エレベーター
|
ユーザー |
![]() |
提出日時 | 2019-03-17 23:05:03 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 482 bytes |
コンパイル時間 | 238 ms |
コンパイル使用メモリ | 24,320 KB |
実行使用メモリ | 13,760 KB |
最終ジャッジ日時 | 2024-07-08 01:50:24 |
合計ジャッジ時間 | 4,036 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 TLE * 1 -- * 15 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:7:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 7 | scanf("%d%d%d",&n,&m,&l); | ~~~~~^~~~~~~~~~~~~~~~~~~ main.cpp:8:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | for(i=0;i<m;i++)scanf("%d%d",&lr[i][0],&lr[i][1]); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include<stdio.h> #define mod 1000000007 int main(){ int i,j,n,m,k,l,lr[3000][2]; scanf("%d%d%d",&n,&m,&l); for(i=0;i<m;i++)scanf("%d%d",&lr[i][0],&lr[i][1]); long long dp[2][3001]={0}; dp[0][1]=1; for(i=1;i<=l;i++){ for(j=0;j<=n;j++)dp[i%2][j]=0; for(j=0;j<m;j++){ long long sum=0; for(k=lr[j][0];k<=lr[j][1];k++)sum+=dp[(i+1)%2][k]; sum%=mod; for(k=lr[j][0];k<=lr[j][1];k++)dp[i%2][k]=(dp[i%2][k]+sum)%mod; } } printf("%lld\n",dp[l%2][n]); return 0; }