結果
問題 |
No.749 クエリ全部盛り
|
ユーザー |
👑 ![]() |
提出日時 | 2018-04-18 19:02:57 |
言語 | C (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 558 bytes |
コンパイル時間 | 177 ms |
コンパイル使用メモリ | 30,720 KB |
実行使用メモリ | 24,244 KB |
最終ジャッジ日時 | 2024-06-27 04:31:51 |
合計ジャッジ時間 | 5,630 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 15 TLE * 1 -- * 4 |
ソースコード
#include <stdio.h> #define ll long long #define rep(i,l,r)for(ll i=l;i<r;i++) #define M 1000000007 ll f[1000010]; ll a[1000010]; int main(){ f[1]=1; rep(i,2,1000003)f[i]=(f[i-1]+f[i-2])%M; int Q; scanf("%*d%d",&Q); while(Q--){ int q,l,r,k; scanf("%d%d%d%d",&q,&l,&r,&k); if(q==0){ ll ans=0; rep(i,l,r+1)ans=(ans+a[i])%M; printf("%d\n",ans*k%M); } else if(q==1)rep(i,l,r+1)a[i]=k; else if(q==2)rep(i,l,r+1)a[i]=(a[i]+k)%M; else if(q==3)rep(i,l,r+1)a[i]=a[i]*k%M; else if(q==4)rep(i,l,r+1)a[i]=(a[i]+k*f[i])%M; } return 0; }