結果
問題 | No.1120 Strange Teacher |
ユーザー |
![]() |
提出日時 | 2020-07-22 21:59:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,461 bytes |
コンパイル時間 | 1,417 ms |
コンパイル使用メモリ | 170,292 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 17:40:39 |
合計ジャッジ時間 | 3,042 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 RE * 2 |
other | AC * 13 WA * 1 RE * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; using P = pair<ll,ll>; const ll mod = 1e9+7; #define ALL(x) (x).begin(),(x).end() #define REP(i,n) for(ll (i)=0;(i)<(n);(i)++) #define REPS(i,n) for(ll (i)=1;(i)<=(n);(i)++) #define RREP(i,n) for(ll (i)=(n-1);(i)>=0;(i)--) #define RREPS(i,n) for(ll (i)=(n);(i)>0;(i)--) #define pb push_back #define mp make_pair #define F first #define S second #define UNIQUE(v) v.erase(unique(ALL(v)),v.end()); template<class T> inline void chmin(T& a, T b){ if (a > b){ a = b; } } template<class T> inline void chmax(T& a, T b){ if (a < b){ a = b; } } signed main(){ cin.tie(0); ios::sync_with_stdio(false); cout<<fixed<<setprecision(12); ll N; cin >> N; ll sum = 0; bool ok = 1; vector<ll> A(N); vector<ll> B(N); REP(i,N)cin >> A[i]; REP(i,N)cin >> B[i]; REP(i,N)sum += A[i] - B[i]; ll count = 0; ll ans = 0; if(N == 2){ if(A[0] + A[1] != B[0] + B[1]){ ok = 0; }else{ ans = abs(A[0] - B[0]); } cout << (ok ? ans : -1) << "\n"; }else{ if(sum % (N-2) != 0){ ok = 0; }else{ count = sum / (N-2); } REP(i,N){ if(A[i] -B[i] - count > 0)ok = 0; } if(count < 0)ok = 0; cout << (ok ? count : -1) << "\n"; if(count > 2)return -1; } }