제출 #1359240

#제출 시각아이디문제언어결과실행 시간메모리
1359240huseyncafarliGrid Coloring (JOI25_ho_t1)C++20
0 / 100
22 ms3568 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int ll

const int MAXN = 1e6 + 5;
const int inf = (int)2e9 + 5;
const int infll = (int)4e18 + 5;
const int mod = (int)1e9 + 7;


void solve(){
  int n;
  cin >> n;
  vector<int> a(n + 1), b(n + 1);
  int cnt1 = 0, cnt2 = 0;
  for(int i = 1; i <= n; i++) {
    cin >> a[i];
    if(a[i] == 1) cnt1++;
    else cnt2++;
  }
  for(int i = 1; i <= n; i++) {
    cin >> b[i];
    if(i == 1) continue;
    if(b[i] == 1) cnt1++;
    else cnt2++;
  }
  int r = upper_bound(b.begin() + 1, b.end(), 1) - b.begin();
  int c = upper_bound(a.begin()+1, a.end(), 1) - a.begin();
  if(r == n + 1 and c == n + 1) {
    cnt1 += 1ll*(n-1)*(n-1);
  } else if(r == n + 1) {
    cnt1 += max(0ll, 1ll*(c - 2)*(n - 1));
    cnt2 += 1ll*(n - c + 1)*(n-1);
  } else if(c == n + 1) {
    cnt1 += max(0ll, 1ll*(r - 2)*(n - 1));
    cnt2 += (1ll*(n - r + 1)*(n-1));
  } else {
    cnt2 += 1ll*(n - c + 1)*(n-1);
    cnt2 += max(0ll, 1ll*(c - 2)*(n - r + 1));
    cnt1 += max(0ll, 1ll*(r-2)*(c-2));
  }
  if(cnt2 >= cnt1) {
    cout << 2 << " " << cnt2 << endl;
  } else {
    cout << 1 << " " << cnt1 << endl;
  }
}

signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  //cin >> t;
  while(t--)
    solve();
  return 0;
}

#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…