Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <cmath>#include <cstdlib>using namespace std;const int N = 3 * 100005;const long long INF = 1e10;bool ok[N];long long sum[N], dis[N];int n, m;void init(){for (int i = 1; i <= 2; i++)for (int j = 1; j <= n; j++)ok[i*n + j] = ok[j];for (int i = 1; i <= 3 * n; i++){sum[i] = sum[i - 1] + ok[i];dis[i] = dis[i - 1] + ok[i] * i;}}