Submission

Status:
[PP-SS][SSSSS][SSSSSSSSSS]

Score: 0

User: FotoFatTurtle

Problemset: ห้องสมุดเมือง 3M

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-19 22:11:49

#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second
int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int num,fi,se,nub=0;
    cin>>num;
    int jum=0;
    vector<pair<int,int>> dp;
    for(int i=0;i<num;i++)
    {
        cin>>fi>>se;
        jum+=(se-fi);
        dp.push_back({fi-1,se-1});
    }
    jum/=2;
    bool full[num]={};
    int ans;
    //cout<<jum<<"\n";
    for(int i=0;i<num-1;i++)
    {
        while(dp[i].f<dp[i+1].f)
        {
            if(full[i]==true)
                break;
            nub++;
            dp[i].f++;
            //cout<<dp[i].f<<" "<<nub<<"\n";
            if(dp[i].f==dp[i].s)
            {
                full[i]=true;
            }
            if(nub==jum)
            {
                ans=dp[i].f;
                break;
            }
        }
        if(nub==jum)
            break;
    }
    if(nub==jum)
    {
        cout<<ans;
        return 0;
    }
    while(true)
    {
        for(int i=0;i<num;i++)
        {
            if(full[i]==false)
            {
                dp[i].f++;
                nub++;
                //cout<<dp[i].f<<" "<<nub<<"\n";
                if(dp[i].f==dp[i].s)
                    full[i]=true;
                if(nub==jum)
                {
                    ans=dp[i].f;
                    break;
                }          
            }
        }
        if(nub==jum)
            break;
    }
    cout<<ans;
}