Submission #4032599
Source Code Expand
#include <iostream> #include <algorithm> using namespace std; #define REP(i, n) for (int i = 0; i < (n); ++i) #define REPR(i, n) for (int i = (n-1); i >= 0; --i) const int MAX = 5e5+10; int N, D, Q; int d[MAX]; int pos[MAX]; int rev[MAX]; bool ans[MAX]; inline int move(int p, int d) { return min(p, abs(p-d)); } inline int moveRev(int p, int d) { if (d/2 >= p) return p; return p+d; } int main() { cin >> N >> D; pos[0] = D; REP (i, N) { cin >> d[i]; pos[i+1] = move(pos[i], d[i]); } rev[N] = 1; REPR (i, N) { rev[i] = moveRev(rev[i+1], d[i]); } REP (i, N) { ans[i] = pos[i] >= rev[i+1]; } cin >> Q; REP (q, Q) { int i; cin >> i; cout << ((ans[i-1])?"YES":"NO") << endl; } }
Submission Info
Submission Time | |
---|---|
Task | E - Alice in linear land |
User | tnyo43 |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 849 Byte |
Status | AC |
Exec Time | 1197 ms |
Memory | 8320 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 900 / 900 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00-00.txt, 00-01.txt, 00-02.txt |
All | 00-00.txt, 00-01.txt, 00-02.txt, 01-00.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-00.txt | AC | 2 ms | 4352 KB |
00-01.txt | AC | 2 ms | 4352 KB |
00-02.txt | AC | 2 ms | 4352 KB |
01-00.txt | AC | 2 ms | 4352 KB |
01-01.txt | AC | 2 ms | 4352 KB |
01-02.txt | AC | 1197 ms | 8192 KB |
01-03.txt | AC | 1186 ms | 8192 KB |
01-04.txt | AC | 1182 ms | 8192 KB |
01-05.txt | AC | 1150 ms | 8192 KB |
01-06.txt | AC | 1165 ms | 8320 KB |
01-07.txt | AC | 1176 ms | 8320 KB |
01-08.txt | AC | 1176 ms | 8064 KB |
01-09.txt | AC | 1162 ms | 8064 KB |
01-10.txt | AC | 1180 ms | 8064 KB |