---
# System prepended metadata

title: 'k648: 教室配置'

---

# k648: 教室配置
## [題目連結](https://zerojudge.tw/ShowProblem?problemid=k648)
## 解題想法
* 在陣列中將教室使用時間的開頭+1，結束-1，最後由第一項加至最後，找出過程中的最大值
## 遭遇到的困難
* 原先用區間內每項都加一的方法導致TLE，此方法能改善效率
## 花費的時間：53分鐘
## 程式碼
```cpp=01
#include<cstdio>
#include<vector>
using namespace std;
int main(){
    int n,s,e,k=0,tmp=0,i,j;
    scanf("%d",&n);
    vector<int>v;
    v.resize(1000000);
    if(n==0)k++;
    else{
        for(i=0;i<n;i++){
            scanf("%d %d",&s,&e);
            v[s]++;
            v[e]--;
        }
        for(i=0;i<1000000;i++){
            tmp+=v[i];
            if(tmp>k)k=tmp;
        }
    }
    printf("%d",k);
    return 0;
}
