zoukankan      html  css  js  c++  java
  • Gym

    题目链接

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn=1e5+5;
    int data[maxn],last[maxn],ans;
    struct D {
        int id;
        int sc;
        int time;
        D(int id0=0,int sc0=0,int time0=0){
            id=id0;
            sc=sc0;
            time=time0;
        }
    };
    bool operator < (D a,D b) {
        if(a.sc!=b.sc) return a.sc<b.sc;
        if(a.id!=b.id) return a.id>b.id;
        return a.time<b.time;
    }
    int main()
    {
        int t,n,q,x,p;
        scanf("%d",&t);
        while(t--)
        {
            priority_queue<D> que;
            int ansid=0,anssum=0,ans=0;
            scanf("%d%d",&n,&q);
            for(int i=1;i<=n;i++) que.push(D(i,0,0));
            //printf("%d
    ",que.top().id);
            memset(data,0,sizeof(data));
            memset(last,0,sizeof(last));
            ans=1;
            int ansT=0;
            for(int i=1;i<=q;i++)
            {
                scanf("%d%d",&x,&p);
                data[x]+=p;
                last[x]=i;
                while(!que.empty() && que.top().time != last[que.top().id]) que.pop();
                if(x==ans&&p<0) {
                    //printf("%d %d---
    ",ans,que.top().id);
                    //D tmp = que.top();
                    //que.pop();
                    while(!que.empty() && que.top().time != last[que.top().id]) que.pop();
                    //printf("%d %d---
    ",ans,que.top().id);
                    if(!que.empty()&&(data[ans]<que.top().sc||(data[ans]==que.top().sc && que.top().id<ans))) {
                        ansT = i;
                        ans = que.top().id;
                    }
                    //que.push(tmp);
                }
                else if(p>=0&&x!=ans&&(data[x]>data[ans]||(data[x]==data[ans]&&x<ans))) {
                    ans = x;
                    ansT = i;
                }
                que.push(D(x,data[x],i));
            }
            printf("%d
    ",ansT);
        }
        return 0;
    }
  • 相关阅读:
    CMD与bat操作
    XmlHelper XML通用类
    Regex正则表达式扩展
    LONG数据类型转换为VARCHAR2并相互转换
    CLOB数据类型截取SUBSTR_按开始位置偏移量
    12c rac On redhat 7
    DML_DDL_触发器
    Linux平台 Oracle 18c RAC安装
    hadoop 透明加密
    Poco::Crypto--加解密_RSA
  • 原文地址:https://www.cnblogs.com/Ritchie/p/6209350.html
Copyright © 2011-2022 走看看