1125 鹹魚商店 spfa 堆優化

2021-08-04 16:33:03 字數 1554 閱讀 6597

鹹魚商店

1125 - 鹹魚商店

time limit:3s memory limit:256mbyte

submissions:278solved:118

description

你現在在鹹魚商店,你有m元錢。鹹魚商店有n個物品,每個物品有兩個屬性,乙個是他的**s[i],另外乙個是他的價值v[i]。現在你想買一些物品,使得這些物品的價值和大於等於k,並且使得其中價值最低的商品的價值盡量高。請你輸出這個最大價值。

input

第一行三個整數n,m,k。接下來n行,每行兩個整數s和v,分別表示**和價值。滿足:1 <= n, m, s <= 10^3, 0 <= v, k <= 10^6

output

輸出價值最低的商品能夠達到的最大價值。如果無解,輸出-1

sample input

3 10 11 210 15 5

sample output

5 思路:spfa超時,可以用spfa在優先佇列優化或者dijstra加優先佇列

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define mem(a) memset(a, 0, sizeof(a))

using

namespace

std;

typedef pair pii;

typedef

long

long ll;

const

int maxn = 500005;

const

int inf = 0x3f3f3f3f;

const

int mod = 1e9+7;

struct edge

g[maxn*2];

struct point

};int dist[100005];

int head[2*maxn];

int cnt;

inline

int read()

while(ch>='0'&&ch<='9')

return f*x;

}void add(int u, int v, int w)

void spfa(int s, int t)

); dist[s]=0;

while(!q.empty()));}

}}

}int main()

int s, t;

s=read();

t=read();

spfa(s, t);

if(dist[t]==-1)

printf("-1\n");

else

printf("%d\n", dist[t]);

}return

0;}

玲瓏oj 1125 鹹魚商店

1125 鹹魚商店 time limit 3s memory limit 256mbyte submissions 276solved 116 description 你現在在鹹魚商店,你有m元錢。鹹魚商店有n個物品,每個物品有兩個屬性,乙個是他的 s i 另外乙個是他的價值v i 現在你想買一些物...

1125 矩陣乘法

時間限制 1000 ms 記憶體限制 65536 kb 提交數 7127 通過數 3572 計算兩個矩陣的乘法。n m階的矩陣a乘以m k階的矩陣b得到的矩陣c 是n k階的,且c i j a i 0 b 0 j a i 1 b 1 j a i m 1 b m 1 j c i j 表示c矩陣中第i行...

1125 矩陣乘法

題目描述 計算兩個矩陣的乘法。n m階的矩陣a乘以m k階的矩陣b得到的矩陣c 是n k階的,且c i j a i 0 b 0 j a i 1 b 1 j a i m 1 b m 1 j。輸入 第一行為n,m,k,表示a矩陣是n行m列,b矩陣是m行k列,n,m,k均小於100。然後先後輸入a和b兩個...