//yuki59.cpp //Wed Jan 8 22:21:38 2020 #include #include #include #include #include #include #include #include #include #define INTINF 2147483647 #define LLINF 9223372036854775807 using namespace std; using ll=long long; typedef pair P; int nodenum,seg[400000]; void init(int n){ nodenum = 1; while (nodenum0){ seg[index]--; } while(index>0){ index = (index-1)/2; seg[index] = seg[index*2+1]+seg[index*2+2]; } } int query(int a, int b, int k, int l, int r){ if (r<=a || b<=l){ return 0; } if (a<=l && r<=b){ return seg[k]; }else { int v1 = query(a,b,k*2+1,l,(l+r)/2); int v2 = query(a,b,k*2+2,(l+r)/2,r); return v1+v2; } } int main(){ int n,k; cin >> n >> k; int w[n]; vector weight; for (int i=0;i> w[i]; weight.push_back(abs(w[i])); } sort(weight.begin(),weight.end()); weight.erase(unique(weight.begin(),weight.end()),weight.end()); map mp; for (int i=0;i