본문 바로가기

CP_contest_Review

Codeforces R699 D2

반응형

solved: 1 out of 6

 

A번을 빠르게 해결하고 B번에서 전 굽다가 라운드가 끝났습니다.

B번에서 중요한 관찰 2가지는 발견 했지만 문제를 해결 못했습니다. 개인적으로 너무 아쉬운 부분입니다.

 

A. Space Navigation

단순한 구현문제로 문제에서 제시한 그대로를 구현하면 됩니다.

 

B. New Colony

결국 돌이 최대 $\left (n-1  \right )\times \left ( max-1 \right )$개이며 이보다 크면 무조건 -1이라는 사실을 알 수 있습니다.

이때 max는 최대 100이고 n도 최대 100임으로, -1이 아닌 돌은 총 1만개까지라 구현으로 문제를 해결 할 수 있습니다.

왼쪽 산부터 돌을 굴려주면서 마지막 위치를 갱신해주고 만약 돌이 끝까지 굴러간다면 -1을 출력해주면 문제를 해결 할 수 있습니다.

	if ((n-1)*(MX-1)<k) cout << -1 << endl;
        else {
            for (int i = 0; i < k; i++) { // rocks
                f=false;
                for (int j = 0; j < n-1; j++) { // moutains
                    if (H[j]<H[j+1]) {
                        H[j]++;
                        remains--;
                        ans = j+1;
                        f=true;
                        break;
                    }
                }
                if (!f) {
                    cout << -1 << endl;
                    break;
                }
            }
        }
        if (!f) {}
        else if (remains==0) cout << ans << endl;
        else cout << -1 << endl;

 

 

 

 

반응형

'CP_contest_Review' 카테고리의 다른 글

codeforces R701 D2  (0) 2021.02.13
AtCoder ABC 191  (2) 2021.02.07
AtCoder ABC 190  (0) 2021.01.31
codeforces R698 D2  (0) 2021.01.29
Codeforces R697 D3  (0) 2021.01.26