CCF 201809-2 買菜 (C++)

2020-08-12 18:47:11

201809-2 買菜

試題編號: 201809-2
試題名稱: 買菜
時間限制: 1.0s
記憶體限制: 256.0MB
問題描述:在这里插入图片描述
解題過程

此題直接暴力解即可。
這裏採用一個模擬時間點的陣列,當有人在某個時間點出現那麼就+1。
最後判斷有幾個時間點爲2即可找到重疊時間段。

AC程式碼
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1000000; 
/*陣列過大,须在主函數外部定義保證記憶體足夠分配*/
/*在主函數內部定義過大的陣列記憶體會分配不足*/ 
int t[N]={0};
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n*2;i++)
	{
		int l,r;
		cin>>l>>r;
		for(int j=l;j<r;j++)
			t[j-1]++;
	} 
	cout<<count(t,t+N,2);
	return 0;
}