Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<stdlib.h>#include<string.h>#define N 100005int X[N];int A[N];int S[N];int ans;int YES[N];int NO[N];int check(int n,int cur){if (cur == 2 && X[1] + X[2] == A[1]){if (n == 2 && X[1] + X[2] == A[2])return 1;if (n != 2)return 1;}if (cur == n && X[n] + X[n - 1] + X[n - 2] == A[n - 1] && X[n] + X[n - 1] == A[n])return 1;if (cur != n && X[cur] + X[cur - 1] + X[cur - 2] == A[cur - 1])return 1;return 0;}void mine(int n,int cur){if (n == 1) {S[1] = A[1]; return;}if (cur > n){if (!ans){ans++;memcpy(S + 1, X + 1, n*sizeof(int));