제출 #1111559

#제출 시각아이디문제언어결과실행 시간메모리
1111559zhehanFire (BOI24_fire)C++14
0 / 100
2072 ms336 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,int> ii;


int main()
{
    int n,m,day_start=0,day_end,a,b;
    cin>>n>>m;
    day_end=m;
    vector<ii> shifts;
    for(int i=0;i<n;++i){
        cin>>a>>b;
        if(a>b){
            a-=day_end;
            shifts.push_back(ii(a,b));
        }else{
            shifts.push_back(ii(a,b));
        }
    }
    sort(shifts.begin(),shifts.end());
    priority_queue<ii,vector<ii>> pq;
    int pointer=0;
    int counter=0;
    while(day_start<day_end){
        while(pointer<n&&shifts.at(pointer).first<=day_start+1){
            pq.push(ii(shifts.at(pointer).second,shifts.at(pointer).first));
            ++pointer;
        }
        day_start=pq.top().first;
        if(pq.top().second<0){
            day_end=min(day_end,m-pq.top().second);
        }
        ++counter;
        pq.pop();
    }
    cout<<counter<<'\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...