time limit:1000ms memory limit:65536k
total submit:317 accepted:171
description
三個農民每天清晨5
55點起床,然後去牛棚給3
33頭牛**。第乙個農民在300
30030
0時刻(從5
55點開始計時,秒為單位)給他的牛**,一直到1000
1000
1000
時刻。第二個農民在700
70070
0時刻開始,在 1200
1200
1200
時刻結束。第三個農民在1500
1500
1500
時刻開始2100
2100
2100
時刻結束。期間最長的至少有乙個農民在**的連續時間為900
90090
0秒(從300
30030
0時刻到1200
1200
1200
時刻),而最長的無人**的連續時間(從**開始一直到**結束)為300
30030
0秒(從1200
1200
1200
時刻到1500
1500
1500
時刻)。
你的任務是編乙個程式,讀入乙個有n
nn個農民(1
<=n
<
=5000
1 <= n <= 5000
1<=n
<=5
000)擠n
nn頭牛的工作時間列表,計算以下兩點(均以秒為單位):
• 最長至少有一人在**的時間段。
• 最長的無人**的時間段。
input
l in
eline
line
1
11: 乙個整數n。
l in
es
lines
line
s2..n+
12..n+1
2..n+1
: 每行兩個小於1000000
1000000
100000
0的非負整數,表示乙個農民的開始時刻與結束時刻。
output
一行,兩個整數,即題目所要求的兩個答案。
sample input
3300 1000
700 1200
1500 2100
sample output
900 300
解題思路
離散化,加乙個bool變數記錄有沒有人工作就好了
**
#include
#include
#include
#include
using namespace std;
int n,f[
10010
],ans,s,s1,ans1;
struct ca[
5010];
int main()
sort
(f+1
,f+2
*n+1);
for(int i=
2;i<=
2*n;i++)}
if(!flag)
}printf
("%d %d"
,ans,ans1)
;}
P1204 擠牛奶(離散化)
題目描述 三個農民每天清晨 5 點起床,然後去牛棚給三頭牛 第乙個農民在 300 秒 從 5 點開始計時 給他的牛 一直到 1000 秒。第二個農民在 700 秒開始,在 1200 秒結束。第三個農民在 1500 秒開始,2100 秒結束。期間最長的至少有乙個農民在 的連續時間為 900 秒 從 3...
離散化 USACO 1 2 擠牛奶
description 三個農民每天清晨5點起床,然後去牛棚給3頭牛 第乙個農民在300時刻 從5點開始計時,秒為單位 給他的牛 一直到1000時刻。第二個農民在700時刻開始,在 1200時刻結束。第三個農民在1500時刻開始2100時刻結束。期間最長的至少有乙個農民在 的連續時間為900秒 從3...
SSL 校門外的樹 離散化
某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止...