Submission #65284760


Source Code Expand

Copy
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MAXNODE = 10000000;
struct Node{ Node *l,*r; int cnt; ll s0,s1; } pool[MAXNODE];
int ptr;
Node* newNode(){ Node* t=&pool[ptr++]; t->l=t->r=nullptr; t->cnt=0; t->s0=t->s1=0; return t; }
void upd(Node*& t,int lo,int hi,int x){
if(!t) t=newNode();
if(lo+1==hi){
bool odd=!(t->cnt&1);
t->cnt++;
if(odd) t->s0+=x; else t->s1+=x;
return;
}
int mid=lo+((hi-lo)>>1);
if(x<mid) upd(t->l,lo,mid,x);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const int MAXNODE = 10000000;

struct Node{ Node *l,*r; int cnt; ll s0,s1; } pool[MAXNODE];
int ptr;

Node* newNode(){ Node* t=&pool[ptr++]; t->l=t->r=nullptr; t->cnt=0; t->s0=t->s1=0; return t; }

void upd(Node*& t,int lo,int hi,int x){
    if(!t) t=newNode();
    if(lo+1==hi){
        bool odd=!(t->cnt&1);
        t->cnt++;
        if(odd) t->s0+=x; else t->s1+=x;
        return;
    }
    int mid=lo+((hi-lo)>>1);
    if(x<mid) upd(t->l,lo,mid,x);
    else       upd(t->r,mid,hi,x);
    int cL=t->l?t->l->cnt:0, cR=t->r?t->r->cnt:0;
    ll s0L=t->l?t->l->s0:0, s1L=t->l?t->l->s1:0;
    ll s0R=t->r?t->r->s0:0, s1R=t->r?t->r->s1:0;
    t->cnt=cL+cR;
    if(!(cL&1)){ t->s0=s0L+s0R; t->s1=s1L+s1R; }
    else        { t->s0=s0L+s1R; t->s1=s1L+s0R; }
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int Q; cin>>Q;
    Node* root=nullptr;
    ll z=0;
    
    while(Q--){
        ll y; cin>>y;
        int x=int((y+z)%1000000000)+1;
        upd(root,1,1000000001,x);
        z=root->s0;
        cout<<z<<"\n";
    }
    return 0;
}

Submission Info

Submission Time
Task G - Odd Position Sum Query
User OYU__0YU
Language C++ 20 (gcc 12.2)
Score 600
Code Size 1173 Byte
Status AC
Exec Time 340 ms
Memory 163512 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 47
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3456 KB
00_sample_01.txt AC 1 ms 3448 KB
01_test_00.txt AC 1 ms 3396 KB
01_test_01.txt AC 1 ms 3436 KB
01_test_02.txt AC 1 ms 3440 KB
01_test_03.txt AC 1 ms 3516 KB
01_test_04.txt AC 1 ms 3724 KB
01_test_05.txt AC 1 ms 3788 KB
01_test_06.txt AC 6 ms 7844 KB
01_test_07.txt AC 3 ms 4732 KB
01_test_08.txt AC 16 ms 15548 KB
01_test_09.txt AC 97 ms 59768 KB
01_test_10.txt AC 195 ms 102980 KB
01_test_11.txt AC 168 ms 92624 KB
01_test_12.txt AC 322 ms 155600 KB
01_test_13.txt AC 326 ms 155600 KB
01_test_14.txt AC 68 ms 3468 KB
01_test_15.txt AC 104 ms 4816 KB
01_test_16.txt AC 79 ms 3624 KB
01_test_17.txt AC 110 ms 4864 KB
01_test_18.txt AC 111 ms 4536 KB
01_test_19.txt AC 122 ms 4908 KB
01_test_20.txt AC 91 ms 4292 KB
01_test_21.txt AC 146 ms 5752 KB
01_test_22.txt AC 173 ms 11276 KB
01_test_23.txt AC 204 ms 11876 KB
01_test_24.txt AC 252 ms 55164 KB
01_test_25.txt AC 340 ms 58860 KB
01_test_26.txt AC 319 ms 163512 KB
01_test_27.txt AC 326 ms 163468 KB
01_test_28.txt AC 320 ms 159732 KB
01_test_29.txt AC 323 ms 159688 KB
01_test_30.txt AC 327 ms 161868 KB
01_test_31.txt AC 321 ms 161872 KB
01_test_32.txt AC 279 ms 77852 KB
01_test_33.txt AC 282 ms 77184 KB
01_test_34.txt AC 184 ms 155572 KB
01_test_35.txt AC 189 ms 155772 KB
01_test_36.txt AC 185 ms 155572 KB
01_test_37.txt AC 187 ms 155772 KB
01_test_38.txt AC 190 ms 155544 KB
01_test_39.txt AC 193 ms 155616 KB
01_test_40.txt AC 200 ms 155588 KB
01_test_41.txt AC 201 ms 155652 KB
01_test_42.txt AC 2 ms 3416 KB
01_test_43.txt AC 91 ms 3472 KB
01_test_44.txt AC 110 ms 5052 KB


2025-05-05 (Mon)
19:38:50 +09:00