상세 컨텐츠

본문 제목

Simply Sitting on Chairs (CF R 1089 Div.2 - B)

PS,CP

by 코딩생활 2026. 4. 19. 16:00

본문

https://codeforces.com/contest/2210/problem/B


아이디어

앞에서부터 보면서, 현재 의자가 체크되어있다면, cnt--을 해줍니다. 그리고, cnt++을 한 뒤, 현재 쓰여진 위치에 체크를 해줍니다. 이를 반복하면서 cnt의 최댓값을 구해주면 됩니다.


소스코드

#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;


int main()
{
	ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll T,N;

    cin>>T;
    while (T--)
    {
        cin>>N;
        bool ck[202020]={0};

        ll cnt=0,x,Ans=0;
        for (ll i=1;i<=N;i++)
        {
            cin>>x;

            if (ck[i]) cnt--;
            cnt++,ck[x]=true;

            Ans=max(Ans,cnt);
        }
        cout<<Ans<<"\n";
    }
}

'PS,CP' 카테고리의 다른 글

쿠폰 (JUNGOL 3762)  (0) 2026.04.20
구두 수선공 (JUNGOL 6271)  (0) 2026.04.20
A Simple Sequence (CF R 1089 Div.2 - A)  (0) 2026.04.19
Grid Covering (CF R 1091 Div.2 - C)  (0) 2026.04.18
Unique Values (Easy version) (CF R 1093 Div.2 - D1)  (0) 2026.04.18

관련글 더보기