1420 數袋鼠好有趣
codeforces
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
有n只袋鼠。每只袋鼠的大小用乙個整數表示。乙隻小袋鼠能裝進乙隻大袋鼠的條件是,大袋鼠的大小至少是小袋鼠的兩倍。
每只大袋鼠最多可以裝乙隻袋鼠。小袋鼠被裝進大袋鼠之後就不能再裝其它的袋鼠了。
小袋鼠被裝進大袋鼠之後就不能被我們看見了。請找出乙個裝袋鼠的方案,使得被看見的袋鼠最少。
input
單組測試資料。output第一行包含乙個整數n(1≤n≤5*10^5)。
接下來n行,每行乙個整數si,表示第i只袋鼠的大小 (1≤si≤10^5)。
輸出乙個整數,即最少能看見的袋鼠數量。input示例
825output示例7698
42
5
題意:有一群袋鼠 只要大袋鼠的大小是小袋鼠的兩倍或以上 就可以裝下這只袋鼠(開始的時候以為是像套娃一樣可以繼續裝 越做越不對)
思路:每只袋鼠只有一次裝或者被裝的機會 所以用兩個下標記錄最大位置的和一半位置的 不斷縮小即可
#include #include #include #include #include #include #include #include #include #define max_ 500100
#define inf 0x3f3f3f3f
#define ll long long
using namespace std;
int n;
int num[max_];
bool vis[max_];
int main(int argc, char const *argv)
else
l--;
} printf("%d\n",n-cnt);
} return 0;
}
51Nod 1420 數袋鼠好有趣
有n只袋鼠。每只袋鼠的大小用乙個整數表示。乙隻小袋鼠能裝進乙隻大袋鼠的條件是,大袋鼠的大小至少是小袋鼠的兩倍。每只大袋鼠最多可以裝乙隻袋鼠。小袋鼠被裝進大袋鼠之後就不能再裝其它的袋鼠了。小袋鼠被裝進大袋鼠之後就不能被我們看見了。請找出乙個裝袋鼠的方案,使得被看見的袋鼠最少。input 單組測試資料。...
51nod 1420 數袋鼠好有趣
1420 數袋鼠好有趣 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 有n只袋鼠。每只袋鼠的大小用乙個整數表示。乙隻小袋鼠能裝進乙隻大袋鼠的條件是,大袋鼠的大小至少是小袋鼠的兩倍。每只大袋鼠最多可以裝乙隻袋鼠。小袋鼠被裝進大袋鼠之後就不能再...
51Nod 1420 數袋鼠好有趣
1420 數袋鼠好有趣 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 有n只袋鼠。每只袋鼠的大小用乙個整數表示。乙隻小袋鼠能裝進乙隻大袋鼠的條件是,大袋鼠的大小至少是小袋鼠的兩倍。每只大袋鼠最多可以裝乙隻袋鼠。小袋鼠被裝進大袋鼠之後就不能再裝其它的袋鼠了。小袋鼠...