zoukankan      html  css  js  c++  java
  • codefroce 854 A.Fraction

    题解:贪心,每次从能够出发的飞机中取一个最大的就好啦,用一个队列维护一下~

    ac代码:

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <queue>
    #include <vector>
    #include <algorithm>
    #include <stack>
    #include <map>
    using namespace std;
    typedef long long ll;
    struct node
    {
        ll v;
        int id;
        friend bool operator <(node a,node b)
        {
            return a.v < b.v;
        }
    }a[300010];
    
    int tt[300010];
    int main()
    {
        int n,m;
        scanf("%d %d",&n,&m);
        for(int i=1;i<=n;i++)
        {
            scanf("%I64d",&a[i].v);
            a[i].id=i;
        }
        ll ans=0;
       // cout<<"12"<<endl;
        priority_queue<node> que;
        int time=m;
        for(int i=1;i<=m;i++) que.push(a[i]);
       // cout<<"123"<<endl;
        while(!que.empty())
        {
            ++time;
            if(time <= n)que.push(a[time]);
            node now=que.top();
            que.pop();
            int id=now.id;
            tt[id]=time;// now time
            ans+=(time-id)*a[id].v;
        }
        //cout<<"1234"<<endl;
        printf("%I64d
    ",ans);
        printf("%d",tt[1]);
        for(int i=2;i<=n;i++) printf(" %d",tt[i]);
        cout<<endl;
        return 0;
    }
  • 相关阅读:
    Unity编辑器
    Unity编辑器
    Unity编辑器
    MaxScript代码补全插件
    学习用MaxScipt批处理Max文件
    Unity编辑器
    Unity编辑器
    节属性 转 页属性
    在挂起的进程中创建一个远程线程
    Sql server 级联删除
  • 原文地址:https://www.cnblogs.com/z1141000271/p/7491337.html
Copyright © 2011-2022 走看看