만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

최대 이분 매칭

시간 제한2초메모리 제한512 MB

요약
이분 그래프의 두 부분 크기 n1, n2, 최대 매칭 크기 ans, 최소 차수 d가 주어질 때 가능한 최대 간선 수를 구하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 6점

유형
그래프, 그리디, 수학, 조합론
정답자
아직 제출이 없습니다

문제

무방향 그래프에서 매칭은 간선의 부분 집합이며, 이 부분 집합에 속한 두 간선은 정점을 공유하지 않는다. 최대 매칭은 크기가 가장 큰 매칭이다.

다음 조건을 모두 만족하는 그래프 GG가 존재하는지 판정하고, 존재하면 그러한 GG에 존재할 수 있는 간선의 최대 개수를 구하는 프로그램을 작성하시오.

  • GG는 단순 무방향 그래프이다.
  • GG는 이분 그래프이고, 두 부분의 크기는 각각 n1n_1과 n2n_2이다.
  • GG의 최대 매칭의 크기는 ansans이다.
  • GG의 모든 정점의 차수는 dd 이상이다.

입력

첫째 줄에 n1n_1, n2n_2, ansans, dd가 공백으로 구분되어 주어진다. (1≤n1,n2≤1091 \le n_1, n_2 \le 10^9, 1≤ans,d≤min⁡(n1,n2)1 \le ans, d \le \min(n_1, n_2))

출력

조건을 만족하는 그래프가 존재하지 않으면 -1을 출력한다. 존재하면 그러한 그래프에 존재할 수 있는 간선의 최대 개수를 출력한다.

예제3

  1. 예제 1

    입력
    3 3 2 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    3 3 1 1
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    5 10 5 2
    
    예상 출력
    50