zoukankan      html  css  js  c++  java
  • P1964 【mc生存】卖东西

    P1964 【mc生存】卖东西

    题解

    很简单,

    暴力

    注意一个小点就好

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    #include<string>
    #include<cstring>
    #include<queue>
    
    using namespace std;
    
    typedef long long ll;
    
    inline int read()
    {
        int ans=0;
        char last=' ',ch=getchar();
        while(ch<'0'||ch>'9') last=ch,ch=getchar();
        while(ch>='0'&&ch<='9') ans=ans*10+ch-'0',ch=getchar();
        if(last=='-') ans=-ans;
        return ans;
    }
    
    int m,n;
    struct node{
        int num,w,v;
        string nam;
    }obj[105],yy[105];
    int p[105],tot=0,yy_tot=0;
    
    bool cmp1(node x,node y)
    {
        if(x.nam ==y.nam ){
            return x.num >y.num ;
        }else return x.nam <y.nam ;
    }
    
    int main()
    {
        m=read();n=read();
        for(int i=1;i<=n;i++){
            obj[i].num =read();
            obj[i].w =read();
            obj[i].v =read();
            cin>>obj[i].nam ;
        }
        
        sort(obj+1,obj+n+1,cmp1);
        
        for(int i=1;i<=n;i++){
            if(obj[i].nam !=obj[i-1].nam ){
                if(yy[yy_tot].num >0){
                    p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
                    yy[yy_tot].num-=yy[yy_tot].num;
                }
                yy_tot++;
                yy[yy_tot].num =obj[i].num ;
                yy[yy_tot].v =obj[i].v ;
                yy[yy_tot].w =obj[i].w ;
            }else{
                yy[yy_tot].num +=obj[i].num ;
            }
            
            if(yy[yy_tot].num >=yy[yy_tot].v ){
                p[++tot]=yy[yy_tot].v*yy[yy_tot].w ;
                yy[yy_tot].num-=yy[yy_tot].v;
            }
            
        }
        if(yy[yy_tot].num >0)
            p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
        sort(p+1,p+1+tot);
        int ans=0;
        for(int i=tot;i>=tot-(21-m)+1;i--){
            if(i<=0) break;
            ans+=p[i];
        } 
        printf("%d
    ",ans);
        
        return 0;
    }
  • 相关阅读:
    mybatis-plus 中的LocalDateTime, LocalDate, LocalTime
    mybatis plus 中的Serializable
    JavaSE: FileWriter类 & FileReader类
    JavaSE: IO流的概念
    JavaSE: File类
    JavaSE: 自定义异常
    JavaSE: 异常的抛出
    Vocabulary: hoarse
    JavaSE: finally的使用
    Vocabulary: appalling
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/11944020.html
Copyright © 2011-2022 走看看