結果
| 問題 | No.3560 Giant Salamander |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-29 22:21:53 |
| 言語 | C++17 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 20 ms / 2,000 ms |
| コード長 | 943 bytes |
| 記録 | |
| コンパイル時間 | 1,135 ms |
| コンパイル使用メモリ | 216,504 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-05-29 22:22:03 |
| 合計ジャッジ時間 | 4,161 ms |
|
ジャッジサーバーID (参考情報) |
judge4_1 / judge3_0 |
| 純コード判定待ち |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 5 % | AC * 5 |
| 部分点2 | 20 % | AC * 6 |
| 部分点3 | 15 % | AC * 11 |
| 部分点4 | 40 % | AC * 22 |
| 満点 | 20 % | AC * 35 |
| 合計 | 100 点 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int T; cin >> T;
while(T--){
int N,M; cin >> N >> M;
vector<pair<int,int>> P(M);
for(auto &[a,b] : P) cin >> a >> b,a--;
bool yes = true;
long long left = 0,right = 0;
for(int i=0; i<M; i++){
auto [p1,ign] = P.at((i-1+M)%M);
auto [p2,a] = P.at(i);
if(i == 0) p1 -= N;
long long d = p2-p1;
long long L = p1+a,R = p2-1+a;
if(d > a) L = p2;
if(i == 0) left = L,right = R;
else{
L -= a,R -= a;
L = max(L,left),R = min(R,right);
if(L > R){yes = false; break;}
L += a,R += a;
left = L,right = R;
}
}
if(yes) cout << "Yes\n";
else cout << "No\n";
}
}