zoukankan      html  css  js  c++  java
  • 【洛谷】P3985 不开心的金明

    #include<bits/stdc++.h>
    using namespace std;
    struct node{
    	int v,p;
    }a[105];
    int n,w,ans;
    int f[10000005];
    
    bool cmp(node a,node b)
    {
    	return a.v<b.v;
    }
    
    int main()
    {
    	scanf("%d %d",&n,&w);
    	for (int i = 1; i <= n ; i ++) scanf("%d %d",&a[i].v,&a[i].p);
    	sort(a+1,a+1+n,cmp);
    	int l = 1, r = 1;
    	while (l <= r)
    	{
    		if (l>n) break;
    		while (r+1<=n && a[l].v+3 >= a[r+1].v) r ++;
    		for (int i = 1 ; i <= w ; i ++) f[i] = 0;
    		for (int i = 1 ; i <= r-l+1 ; i ++)
    		  for (int j = w ; j >= a[i].v ; j --)
    		  {
    				f[j] = max(f[j],f[j-a[i].v]+a[i].p);
    		  }
    		ans = max(ans,f[w]);
    		l ++; r = l;
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    

      

  • 相关阅读:
    Redis
    cut
    grep
    MySQL中EXPLAIN的解释
    MySQL数据类型
    有用的MySQL语句
    mysql函数
    memcache
    存储过程 游标的使用
    存储过程批量删除
  • 原文地址:https://www.cnblogs.com/YMY666/p/7900145.html
Copyright © 2011-2022 走看看