結果
問題 |
No.2860 Heal Slimes
|
ユーザー |
![]() |
提出日時 | 2024-08-25 14:54:26 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 941 bytes |
コンパイル時間 | 3,677 ms |
コンパイル使用メモリ | 255,844 KB |
最終ジャッジ日時 | 2025-02-24 01:17:03 |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 10 RE * 1 MLE * 1 -- * 48 |
ソースコード
#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 int main(){ int _t; cin>>_t; rep(_,_t){ long long N,K,X; cin>>N>>K>>X; vector<long long> h(N); rep(i,N)cin>>h[i]; vector<long long> d(h[0]); rep(i,N-1){ d.push_back(h[i+1]-h[i]); } d.push_back(-h[N-1]); bool f= true; rep(i,K){ bool F = false; long long sum = 0; set<long long> s; for(int j=i;j<=N;j+=K){ if(j==0 || j==N){ F = true; continue; } sum += d[j]; { long long dd = d[j]; dd %= X; if(dd<0)dd+=X; s.insert(dd); } } if(s.size()>=2){ f = false; break; } if(!F && sum!=0){ f = false; break; } } if(f)cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }