/** * author: yuya1234 * created: 22.07.2020 21:25:31 **/ #include using namespace std; typedef long long ll; #define REP(i,n) for(ll i=0;i<(ll)(n);i++) #define REPD(i,n) for(ll i=n-1;i>=0;i--) #define FOR(i,a,b) for(ll i=a;i<=(ll)(b);i++) #define FORD(i,a,b) for(ll i=a;i>=(ll)(b);i--) #define SORT(x) sort(x.begin(),x.end()) #define SORTD(x) sort(x.rbegin(),x.rend()) #define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() ); #define SZ(x) ll(x.size()) #define MEMSET(v, h) memset((v), h, sizeof(v)) templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b>n; int a[n],b[n],s=0; REP(i,n)cin>>a[i]; REP(i,n) { cin>>b[i]; s+=b[i]; } int _max,idmax,_min,idmin; int ans=0; REP(ii,n) { _max=0; _min=INT_MAX; REP(i,n) { if(chmax(_max,b[i]-a[i]))idmax=i; if(chmin(_min,b[i]-a[i]))idmin=i; } if(_max==0 && _min==0)break; int sum=max(_max,abs(_min)); REP(i,n) { if(i==idmax)a[i]+=sum; else a[i]-=sum; } ans+=sum; int ss=0; REP(i,n)ss+=a[i]; if(ss==s)break; if(ii==n-1){ cout<<-1<