hiho week 39 register

Ended

Participants:2159

Verdict:Accepted
Score:100 / 100
Submitted:2015-03-28 20:09:34

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int aa;
char buf[1<<15],*S=buf,*H=buf,ch;
char getc(){return S==H&&(H=(S=buf)+fread(buf,1,1<<15,stdin),S==H)?0:*S++;}
int F(){
    while(ch=getc(),ch<'0'||ch>'9');aa=ch^'0';
    while(ch=getc()^'0',ch>=0&&ch<=9)aa=(aa<<3)+(aa<<1)+ch;return aa;
}
int cnt = 0;
void splitMerge(int A[], int l, int r, int B[])
{
    if (r <= l) return;
    int mid = (l + r) >> 1; 
    splitMerge(A, l, mid, B);
    splitMerge(A, mid+1, r, B);
    int i = l;
    int j = mid+1;
    for (int k = l; k <= r; ++k) {
        if (i <= mid && (j > r || A[i] <= A[j])) 
            B[k] = A[i++];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX