Submission #1416856


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i=0;i<(n);i++)
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pii;

int n,m,h;
int a[125252];

const int N = 1<<18;
ll seg[2*N-1];
ll segget(int p){
  p += N-1;
  ll ret = seg[p];
  while(p>0){
    p = (p-1)/2;
    ret += seg[p];
  }
  return ret;
}
void segadd(int l,int r,ll v,int a,int b,int k){
  if(r<=a || b<=l)return;
  if(l<=a && b<=r){
    seg[k]+=v;
    return;
  }
  int m = (a+b)/2;
  segadd(l,r,v,a,m,2*k+1);
  segadd(l,r,v,m,b,2*k+2);
}
void segadd(int l,int r,ll v){
  segadd(l,r,v,0,N,0);
}
void segset(int p,ll v){
  ll x = segget(p);
  segadd(p,p+1,v-x);
}

int main(){
  scanf("%d%d%d",&n,&m,&h);
  REP(i,n)scanf("%d",a+i);
  const ll INF = 1252183025;
  segadd(0,N,INF);
  segset(0,0);
  REP(i,n){
    segset(i+1,a[i]);
    a[i+1] += a[i];
  }
  // REP(i,n+1)cout << segget(i) << endl;
  while(m--){
    char op[25];
    int x;
    scanf("%s%d",op,&x);
    if(op[0] == 'a'){
      ll po = segget(n) + x;
      segset(n+1,po);
      n++;
    }else{
  // REP(i,n+1)cout << segget(i) << endl;
      // check
      int c = x - h;
      // seg[i] <= c
      int ok = 0;
      int ng = N;
      while(ng-ok>1){
        int mid = (ok+ng)/2;
        if(segget(mid)<=c){
          ok = mid;
        }else{
          ng = mid;
        }
      }
      int id = ok;
      int lower = segget(id);
      int higher = segget(id+1);
      // cout << id << " " << n << " " << lower << " " << higher << endl;
      if(higher >= INF/2){
        puts("miss");
      }else if(id<n-1 && higher <= x+h){
        puts("stop");
      }else{
        puts("go");
        int hh = higher - lower;
        segadd(id+1,N,-hh);
      }
    }
  }
  return 0;
}

Submission Info

Submission Time
Task G - だるま落とし
User rickytheta
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1831 Byte
Status WA
Exec Time 82 ms
Memory 3584 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d",&n,&m,&h);
                           ^
./Main.cpp:43:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   REP(i,n)scanf("%d",a+i);
                          ^
./Main.cpp:55:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%s%d",op,&x);
                        ^

Judge Result

Set Name small large
Score / Max Score 0 / 20 0 / 80
Status
AC × 14
WA × 22
AC × 15
WA × 51
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 2 ms 2304 KB
large/case_002.txt AC 2 ms 2304 KB
large/case_003.txt WA 2 ms 2304 KB
large/case_005.txt WA 2 ms 2304 KB
large/case_006.txt WA 2 ms 2304 KB
large/case_007.txt WA 2 ms 2304 KB
large/case_008.txt AC 2 ms 2304 KB
large/case_009.txt AC 2 ms 2304 KB
large/case_010.txt AC 2 ms 2304 KB
large/case_011.txt AC 2 ms 2304 KB
large/case_012.txt AC 2 ms 2304 KB
large/case_013.txt AC 2 ms 2304 KB
large/case_014.txt AC 2 ms 2304 KB
large/case_015.txt AC 2 ms 2304 KB
large/case_016.txt AC 2 ms 2304 KB
large/case_017.txt AC 2 ms 2304 KB
large/case_018.txt AC 2 ms 2304 KB
large/case_019.txt AC 2 ms 2304 KB
large/case_020.txt WA 2 ms 2304 KB
large/case_021.txt WA 2 ms 2304 KB
large/case_022.txt WA 2 ms 2304 KB
large/case_023.txt WA 2 ms 2304 KB
large/case_024.txt WA 2 ms 2304 KB
large/case_025.txt WA 2 ms 2304 KB
large/case_026.txt WA 2 ms 2304 KB
large/case_027.txt WA 3 ms 2304 KB
large/case_028.txt WA 2 ms 2304 KB
large/case_029.txt WA 2 ms 2304 KB
large/case_030.txt WA 2 ms 2304 KB
large/case_031.txt WA 2 ms 2304 KB
large/case_032.txt WA 2 ms 2304 KB
large/case_033.txt WA 2 ms 2304 KB
large/case_034.txt WA 2 ms 2304 KB
large/case_035.txt WA 2 ms 2304 KB
large/case_036.txt WA 2 ms 2304 KB
large/case_037.txt WA 2 ms 2304 KB
large/large_case_000.txt WA 76 ms 3456 KB
large/large_case_001.txt WA 77 ms 3584 KB
large/large_case_002.txt WA 77 ms 3456 KB
large/large_case_003.txt WA 77 ms 3456 KB
large/large_case_004.txt WA 77 ms 3584 KB
large/large_case_005.txt WA 76 ms 3584 KB
large/large_case_006.txt WA 74 ms 3200 KB
large/large_case_007.txt WA 75 ms 3456 KB
large/large_case_008.txt WA 76 ms 3584 KB
large/large_case_009.txt WA 77 ms 3456 KB
large/large_case_010.txt AC 51 ms 2688 KB
large/large_case_011.txt WA 71 ms 3072 KB
large/large_case_012.txt WA 77 ms 3328 KB
large/large_case_013.txt WA 77 ms 3328 KB
large/large_case_014.txt WA 77 ms 2944 KB
large/large_case_015.txt WA 78 ms 2944 KB
large/large_case_016.txt WA 78 ms 2944 KB
large/large_case_017.txt WA 78 ms 2944 KB
large/large_case_018.txt WA 78 ms 2944 KB
large/large_case_019.txt WA 78 ms 2944 KB
large/large_case_020.txt WA 78 ms 2944 KB
large/large_case_021.txt WA 78 ms 2944 KB
large/large_case_022.txt WA 78 ms 2944 KB
large/large_case_023.txt WA 78 ms 2944 KB
large/large_case_024.txt WA 77 ms 2944 KB
large/large_case_025.txt WA 78 ms 2944 KB
large/large_case_026.txt WA 78 ms 2944 KB
large/large_case_027.txt WA 80 ms 2944 KB
large/large_case_028.txt WA 82 ms 2944 KB
large/large_case_029.txt WA 78 ms 2944 KB
small/case_000.txt AC 2 ms 2304 KB
small/case_002.txt AC 2 ms 2304 KB
small/case_003.txt WA 2 ms 2304 KB
small/case_005.txt WA 2 ms 2304 KB
small/case_006.txt WA 2 ms 2304 KB
small/case_007.txt WA 2 ms 2304 KB
small/case_008.txt AC 2 ms 2304 KB
small/case_009.txt AC 2 ms 2304 KB
small/case_010.txt AC 2 ms 2304 KB
small/case_011.txt AC 2 ms 2304 KB
small/case_012.txt AC 2 ms 2304 KB
small/case_013.txt AC 2 ms 2304 KB
small/case_014.txt AC 2 ms 2304 KB
small/case_015.txt AC 2 ms 2304 KB
small/case_016.txt AC 2 ms 2304 KB
small/case_017.txt AC 2 ms 2304 KB
small/case_018.txt AC 2 ms 2304 KB
small/case_019.txt AC 2 ms 2304 KB
small/case_020.txt WA 2 ms 2304 KB
small/case_021.txt WA 2 ms 2304 KB
small/case_022.txt WA 2 ms 2304 KB
small/case_023.txt WA 2 ms 2304 KB
small/case_024.txt WA 2 ms 2304 KB
small/case_025.txt WA 2 ms 2304 KB
small/case_026.txt WA 2 ms 2304 KB
small/case_027.txt WA 2 ms 2304 KB
small/case_028.txt WA 2 ms 2304 KB
small/case_029.txt WA 2 ms 2304 KB
small/case_030.txt WA 2 ms 2304 KB
small/case_031.txt WA 2 ms 2304 KB
small/case_032.txt WA 2 ms 2304 KB
small/case_033.txt WA 2 ms 2304 KB
small/case_034.txt WA 2 ms 2304 KB
small/case_035.txt WA 2 ms 2304 KB
small/case_036.txt WA 2 ms 2304 KB
small/case_037.txt WA 2 ms 2304 KB