Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>using namespace std;int a[2][100010];int N;int main(){//freopen("input.txt", "r", stdin);scanf("%d", &N);for (int i = 0; i < N; ++i){scanf("%d", &a[0][i]);}int s = 1;long long sum_num = 0;for (int t = 1; t < N; t *= 2){s ^= 1;int loc = 0;for (int i = 0; i < N; i += 2 * t){int small_num = 0;int end_num1 = (i + t) < N ? (i + t) : N;int end_num2 = (i + 2 * t) < N ? (i + 2 * t) : N;int j1, j2;for (j1 = i, j2 = i + t; j1 < end_num1&&j2 < end_num2; ++loc){if (a[s][j1]>a[s][j2]){