結果

問題 No.749 クエリ全部盛り
ユーザー 👑 testestest
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0