#include using namespace std; #define int long long typedef pair P; int INF = 1e9+7; int mod = 1e9+7; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; signed main() { int N; cin >> N; vectorA(N); vectorB(N); int sumA = 0; for(int i = 0; i < N; i++) { cin >> A[i]; sumA+=A[i]; } int sumB = 0; for(int i = 0; i < N; i++) { cin >> B[i]; sumB+=B[i]; } if(sumA < sumB) { cout << -1 << endl; return 0; } if(N == 2) {//%0はできないため if(sumA != sumB) cout << -1 << endl; else cout << abs(A[0]-B[0]) << endl; return 0; } if((sumA-sumB)%(N-2) != 0) { cout << -1 << endl; return 0; } int K = (sumA-sumB)/(N-2); int cnt = K;//後何回操作できるか for(int i = 0; i < N; i++) { if(A[i]-K <= B[i]) { if((B[i]-(A[i]-K))/2 > cnt) { cout << -1 << endl; return 0; } cnt-=(B[i]-(A[i]-K))/2; } else { cout << -1 << endl; return 0; } } if(cnt != 0) { cout << -1 << endl; } else { cout << K << endl; } }