Cod sursa(job #2110204)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 20 ianuarie 2018 12:59:51
Problema A+B Scor 0
Compilator cpp Status done
Runda teme_upb Marime 0.67 kb
#include <bits/stdc++.h>
#define zeros(x) (x & (-x))

const int MaxN = 20005;

int aib[1 + MaxN];
inline void update(int pos){
    for(int i = pos; i <= MaxN; i += zeros(i))
        aib[i]++;
}
inline int query(int pos){
    int ans = 0;
    for(int i = pos; i > 0; i -= zeros(i))
        ans += aib[i];
    return ans;
}
inline int search(int val){
    int st = 1, dr = MaxN;
    while(dr - st > 1){
        int m = (st + dr) / 2;
        if(query(m) < val) st = m + 1;
        else dr = m;
    }
    if(query(st) == val) return st;
    return dr;
}

int main(){
    FILE*fi,*fo;
    fi = fopen("a.in","r");
    fo = fopen("a.out","w");

    return 0;
}