結果
| 問題 |
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;
}