-
1301-B, *1500코드포스 2021. 12. 24. 02:35
Problem - B - Codeforces
codeforces.com
풀이
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include <bits/stdc++.h>#define endl "\n"#define ooop(i, n) for(int i = 0; i < n; i++)#define loop(i, n) for(int i = 1; i <= n; i++)#define all(v) (v).begin(), (v).end()using namespace std;typedef long long ll;typedef pair<int, int> pi;typedef pair<ll, ll> pl;int main(){ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t;cin >> t;int n;while(t--){cin >> n;vector<int> v(n+1);loop(i, n) cin >> v[i];int maxval = -1, minval = 1e9+1;int fixed_gap = -1;loop(i, n-1){if(v[i] == -1 && v[i+1] != -1) {if(v[i + 1] > maxval) maxval = v[i + 1];if(v[i + 1] < minval) minval = v[i + 1];}if(v[i] != -1 && v[i+1] == -1){if(v[i] > maxval) maxval = v[i];if(v[i] < minval) minval = v[i];}if(v[i] != -1 && v[i+1] != -1){if(fixed_gap < abs(v[i]-v[i+1])) fixed_gap = abs(v[i]-v[i+1]);}}if(fixed_gap == -1){if(maxval == -1) cout << 0 << ' ' << 0 << endl;else{int m = (maxval - minval + 1)/2;cout << m << ' ' << minval + m << endl;}}else{int m = (maxval - minval + 1)/2;if(m >= fixed_gap) cout << m << ' ' << minval + m << endl;else cout << fixed_gap << ' ' << minval + m << endl;}}return 0;}cs'코드포스' 카테고리의 다른 글
1615-B (0) 2021.12.25 1615-A (0) 2021.12.25 1301-C, *1700 (0) 2021.12.24 1301-D, *2000 (0) 2021.12.24 1295-D, *1800 (0) 2021.11.10