Submission #3618226
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> P; const double EPS = (1e-7); const ll INF =(1e13); const double PI = (acos(-1)); const ll MOD = ll(1e9) + 7; #define REP(i, n) for(ll i = 0; i < (ll)(n); i++) #define REPR(i, n) for(ll i = n; i > -1; i--) #define FOR(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) #define ALL(x) (x).begin(),(x).end() #define SORT(x) sort((x).begin(), (x).end()) #define REVERSE(x) reverse((x).begin(), (x).end()) #define SZ(x) ((ll)(x).size()) #define pb push_back #define mp make_pair //chmax(a, b): a>bならaをbで更新 更新したときにtrueを返す //chmin(a, b): a<bならaをbで更新 更新したときにtrueを返す template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } #define dump(x) cerr<< #x << "= " << (x) << endl; int gcd(int a,int b){return b?gcd(b,a%b):a;}; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; class BIT{ //1-index, A1, A2, ..., A_Mの更新および累積和をO(logM)で求める. //2分探索もできる. public: vector<ll> bit; ll M; BIT(ll M): //宣言と初期化 bit(vector<ll>(M+1, 0)), M(M) {} ll sum(ll i) { if (!i) return 0; return bit[i] + sum(i-(i&-i)); } void add(ll i, ll x) { if (i > M) return; bit[i] += x; add(i+(i&-i), x); } ll lower_bound(ll x){ //普通のlower_boundと同じ //解の範囲は(l, r] //sum(m) < x -> (m, r] //sum(m) >=x -> (l, m] ll l = 0, r = M + 1; while (r - l > 1){ ll m = (l + r) / 2; if (sum(m) < x) l = m; else r = m; } return r; } ll upper_bound(ll x){ //普通のupper_boundと同じ //解の範囲は(l, r] //sum(m) > x -> (l, m] //sum(m) <=x -> (m, r] ll l = 0, r = M + 1; while (r - l > 1){ ll m = (l + r) / 2; if (sum(m) > x) r = m; else l = m; } return r; } }; const ll MAX_N = 1e5, MAX_M = 1e5, MAX_H = 1e5; ll N, M, H; ll a[MAX_M + MAX_N] = {}; bool opr[MAX_M]; ll b[MAX_M]; int main(){ cin >> N >> M >> H; BIT s(N + M); REP(i, N) { cin >> a[i]; s.add(i + 1, a[i]); } REP(i, M){ string op; cin >> op; (op == "add") ? opr[i] = 0 : opr[i] = 1; cin >> b[i]; } REP(i, M){ if (!opr[i]){ s.add(i + N + 1, b[i]); } else{ ll lb = s.upper_bound(b[i] - H); ll ub = s.lower_bound(b[i] + H); if (lb == N + M + 1){ cout << "miss" << endl; } else if (s.sum(ub) - s.sum(lb) == 0){ cout << "go" << endl; ll t = s.sum(lb) - s.sum(lb - 1); s.add(lb, -t); } else { cout << "stop" << endl; } } } }
Submission Info
Submission Time | |
---|---|
Task | G - だるま落とし |
User | genkinanodesu |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 3286 Byte |
Status | WA |
Exec Time | 333 ms |
Memory | 3840 KB |
Judge Result
Set Name | small | large | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 20 | 0 / 80 | ||||||||
Status |
|
|
Set Name | Test Cases |
---|---|
small | small/case_000.txt, small/case_002.txt, small/case_003.txt, small/case_005.txt, small/case_006.txt, small/case_007.txt, small/case_008.txt, small/case_009.txt, small/case_010.txt, small/case_011.txt, small/case_012.txt, small/case_013.txt, small/case_014.txt, small/case_015.txt, small/case_016.txt, small/case_017.txt, small/case_018.txt, small/case_019.txt, small/case_020.txt, small/case_021.txt, small/case_022.txt, small/case_023.txt, small/case_024.txt, small/case_025.txt, small/case_026.txt, small/case_027.txt, small/case_028.txt, small/case_029.txt, small/case_030.txt, small/case_031.txt, small/case_032.txt, small/case_033.txt, small/case_034.txt, small/case_035.txt, small/case_036.txt, small/case_037.txt |
large | large/case_000.txt, large/case_002.txt, large/case_003.txt, large/case_005.txt, large/case_006.txt, large/case_007.txt, large/case_008.txt, large/case_009.txt, large/case_010.txt, large/case_011.txt, large/case_012.txt, large/case_013.txt, large/case_014.txt, large/case_015.txt, large/case_016.txt, large/case_017.txt, large/case_018.txt, large/case_019.txt, large/case_020.txt, large/case_021.txt, large/case_022.txt, large/case_023.txt, large/case_024.txt, large/case_025.txt, large/case_026.txt, large/case_027.txt, large/case_028.txt, large/case_029.txt, large/case_030.txt, large/case_031.txt, large/case_032.txt, large/case_033.txt, large/case_034.txt, large/case_035.txt, large/case_036.txt, large/case_037.txt, large/large_case_000.txt, large/large_case_001.txt, large/large_case_002.txt, large/large_case_003.txt, large/large_case_004.txt, large/large_case_005.txt, large/large_case_006.txt, large/large_case_007.txt, large/large_case_008.txt, large/large_case_009.txt, large/large_case_010.txt, large/large_case_011.txt, large/large_case_012.txt, large/large_case_013.txt, large/large_case_014.txt, large/large_case_015.txt, large/large_case_016.txt, large/large_case_017.txt, large/large_case_018.txt, large/large_case_019.txt, large/large_case_020.txt, large/large_case_021.txt, large/large_case_022.txt, large/large_case_023.txt, large/large_case_024.txt, large/large_case_025.txt, large/large_case_026.txt, large/large_case_027.txt, large/large_case_028.txt, large/large_case_029.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
large/case_000.txt | AC | 1 ms | 256 KB |
large/case_002.txt | AC | 1 ms | 256 KB |
large/case_003.txt | WA | 1 ms | 256 KB |
large/case_005.txt | AC | 1 ms | 256 KB |
large/case_006.txt | WA | 1 ms | 256 KB |
large/case_007.txt | AC | 1 ms | 256 KB |
large/case_008.txt | AC | 3 ms | 256 KB |
large/case_009.txt | AC | 3 ms | 256 KB |
large/case_010.txt | AC | 3 ms | 256 KB |
large/case_011.txt | AC | 3 ms | 256 KB |
large/case_012.txt | WA | 3 ms | 256 KB |
large/case_013.txt | AC | 3 ms | 256 KB |
large/case_014.txt | AC | 3 ms | 256 KB |
large/case_015.txt | AC | 3 ms | 256 KB |
large/case_016.txt | AC | 3 ms | 256 KB |
large/case_017.txt | AC | 3 ms | 256 KB |
large/case_018.txt | AC | 2 ms | 256 KB |
large/case_019.txt | AC | 3 ms | 256 KB |
large/case_020.txt | AC | 3 ms | 256 KB |
large/case_021.txt | AC | 3 ms | 256 KB |
large/case_022.txt | WA | 4 ms | 256 KB |
large/case_023.txt | WA | 4 ms | 256 KB |
large/case_024.txt | WA | 4 ms | 256 KB |
large/case_025.txt | WA | 4 ms | 256 KB |
large/case_026.txt | WA | 4 ms | 256 KB |
large/case_027.txt | WA | 4 ms | 256 KB |
large/case_028.txt | WA | 4 ms | 256 KB |
large/case_029.txt | WA | 4 ms | 256 KB |
large/case_030.txt | WA | 4 ms | 256 KB |
large/case_031.txt | WA | 4 ms | 256 KB |
large/case_032.txt | WA | 4 ms | 256 KB |
large/case_033.txt | WA | 4 ms | 256 KB |
large/case_034.txt | WA | 4 ms | 256 KB |
large/case_035.txt | WA | 4 ms | 256 KB |
large/case_036.txt | WA | 4 ms | 256 KB |
large/case_037.txt | WA | 4 ms | 256 KB |
large/large_case_000.txt | AC | 236 ms | 3712 KB |
large/large_case_001.txt | AC | 237 ms | 3584 KB |
large/large_case_002.txt | AC | 239 ms | 3712 KB |
large/large_case_003.txt | AC | 247 ms | 3584 KB |
large/large_case_004.txt | AC | 238 ms | 3584 KB |
large/large_case_005.txt | AC | 333 ms | 3584 KB |
large/large_case_006.txt | AC | 232 ms | 3584 KB |
large/large_case_007.txt | AC | 238 ms | 3584 KB |
large/large_case_008.txt | AC | 236 ms | 3584 KB |
large/large_case_009.txt | AC | 241 ms | 3712 KB |
large/large_case_010.txt | AC | 112 ms | 3456 KB |
large/large_case_011.txt | AC | 223 ms | 3584 KB |
large/large_case_012.txt | AC | 238 ms | 3712 KB |
large/large_case_013.txt | AC | 245 ms | 3584 KB |
large/large_case_014.txt | AC | 276 ms | 3840 KB |
large/large_case_015.txt | AC | 276 ms | 3712 KB |
large/large_case_016.txt | AC | 274 ms | 3712 KB |
large/large_case_017.txt | AC | 274 ms | 3712 KB |
large/large_case_018.txt | AC | 276 ms | 3712 KB |
large/large_case_019.txt | AC | 275 ms | 3712 KB |
large/large_case_020.txt | AC | 276 ms | 3712 KB |
large/large_case_021.txt | AC | 276 ms | 3712 KB |
large/large_case_022.txt | AC | 275 ms | 3712 KB |
large/large_case_023.txt | AC | 276 ms | 3712 KB |
large/large_case_024.txt | AC | 273 ms | 3712 KB |
large/large_case_025.txt | AC | 271 ms | 3712 KB |
large/large_case_026.txt | AC | 273 ms | 3712 KB |
large/large_case_027.txt | AC | 271 ms | 3712 KB |
large/large_case_028.txt | AC | 276 ms | 3712 KB |
large/large_case_029.txt | AC | 273 ms | 3712 KB |
small/case_000.txt | AC | 1 ms | 256 KB |
small/case_002.txt | AC | 1 ms | 256 KB |
small/case_003.txt | WA | 1 ms | 256 KB |
small/case_005.txt | AC | 1 ms | 256 KB |
small/case_006.txt | WA | 1 ms | 256 KB |
small/case_007.txt | AC | 1 ms | 256 KB |
small/case_008.txt | AC | 3 ms | 256 KB |
small/case_009.txt | AC | 3 ms | 256 KB |
small/case_010.txt | AC | 3 ms | 256 KB |
small/case_011.txt | AC | 3 ms | 256 KB |
small/case_012.txt | WA | 3 ms | 256 KB |
small/case_013.txt | AC | 3 ms | 256 KB |
small/case_014.txt | AC | 3 ms | 256 KB |
small/case_015.txt | AC | 3 ms | 256 KB |
small/case_016.txt | AC | 3 ms | 256 KB |
small/case_017.txt | AC | 3 ms | 256 KB |
small/case_018.txt | AC | 2 ms | 256 KB |
small/case_019.txt | AC | 3 ms | 256 KB |
small/case_020.txt | AC | 3 ms | 256 KB |
small/case_021.txt | AC | 3 ms | 256 KB |
small/case_022.txt | WA | 4 ms | 256 KB |
small/case_023.txt | WA | 4 ms | 256 KB |
small/case_024.txt | WA | 4 ms | 256 KB |
small/case_025.txt | WA | 4 ms | 256 KB |
small/case_026.txt | WA | 4 ms | 256 KB |
small/case_027.txt | WA | 4 ms | 256 KB |
small/case_028.txt | WA | 4 ms | 256 KB |
small/case_029.txt | WA | 4 ms | 256 KB |
small/case_030.txt | WA | 4 ms | 256 KB |
small/case_031.txt | WA | 4 ms | 256 KB |
small/case_032.txt | WA | 4 ms | 256 KB |
small/case_033.txt | WA | 4 ms | 256 KB |
small/case_034.txt | WA | 4 ms | 256 KB |
small/case_035.txt | WA | 4 ms | 256 KB |
small/case_036.txt | WA | 4 ms | 256 KB |
small/case_037.txt | WA | 4 ms | 256 KB |