結果
問題 |
No.2592 おでぶなおばけさん 2
|
ユーザー |
|
提出日時 | 2023-12-20 18:56:22 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 212 ms / 2,500 ms |
コード長 | 840 bytes |
コンパイル時間 | 1,608 ms |
コンパイル使用メモリ | 171,252 KB |
実行使用メモリ | 8,740 KB |
最終ジャッジ日時 | 2024-09-27 09:59:17 |
合計ジャッジ時間 | 20,052 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 83 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> P; #define REP(i,n) for(ll i=0;i<ll(n);i++) ll a[100010]; vector<ll> c[7]; vector<ll> m={1000000007,1000000009,1000000021,1000000033,1000000087}; int main(void){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll i,j; ll n,q,k; cin >> n >> q >> k; for(i=1;i<=n;i++) cin >> a[i]; REP(j,5){ ll MOD=m[j]; ll K=k%MOD; ll e=1; c[j].push_back(0); for(i=1;i<=n;i++){ ll A=a[i]%MOD; A+=MOD; c[j].push_back((A*e)%MOD); e*=K; e%=MOD; } for(i=1;i<=n;i++){ c[j][i]+=c[j][i-1]; c[j][i]%=MOD; } } for(i=1;i<=q;i++){ ll l,r; cin >> l >> r; bool f=false; REP(j,5){ if((c[j][r]-c[j][l-1]+m[j])%m[j]!=0){ f=true; cout << "Yes" << endl; break; } } if(!f) cout << "No" << endl; } return 0; }