SSL 1088 擠牛奶 離散化

2021-10-08 08:37:40 字數 1875 閱讀 2516

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,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止...