51 Nod 大魚吃小魚

2022-08-11 04:48:11 字數 876 閱讀 4727

1289 大魚吃小魚

基準時間限制:1 秒 空間限制:131072 kb 分值: 5 難度:1級演算法題

收藏關注有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向(0表示向左,1表示向右)。問足夠長的時間之後,能剩下多少條魚?

input

第1行:1個數n,表示魚的數量(1 <= n <= 100000)。

第2 - n + 1行:每行兩個數a[i], b[i],中間用空格分隔,分別表示魚的大小及游動的方向(1 <= a[i] <= 10^9,b[i] = 0 或 1,0表示向左,1表示向右)。

output

輸出1個數,表示最終剩下的魚的數量。
input示例

5

4 03 1

2 01 0

5 0

output示例

2
#include

using namespace std;

int a[100010];

int b[100010];

int lmax[100010];//當前位置的左邊向右的魚的最大值

int rmax[100010];//當前位置的右邊向左的魚的最大值

int main()

else

lmax[i+1]=max_r;

}for(int i=n-1;i>=1;i--)

else

rmax[i-1]=max_l;

}int ans=0;

for(int i=0;i=lmax[i])ans++;

}else

}cout

}

51nod大魚吃小魚

有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 n 100000 第2 n 1行 每...

大魚吃小魚

有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 n 100000 第2 n 1行 每...

大魚吃小魚

有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 n 100000 第2 n 1行 每...