社区讨论

OLE是个什么错误??蒟蒻表示很迷

学术版参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mi7wr5ff
此快照首次捕获于
2025/11/21 04:52
4 个月前
此快照最后确认于
2025/11/21 04:52
4 个月前
查看原帖
题号 P2902
CPP
#include<bits/stdc++.h>
#define maxn 205
using namespace std;
struct Node
{
    int num,v;
    bool operator < (const Node other)const
    {
        return v > other.v;
    }
};

priority_queue <Node> q;

int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= m;i++)
    {
        int kk;
        scanf("%d",&kk);
        Node k;
        k.num = i;
        k.v = -kk;
        q.push(k);
    }
    while(!q.empty())
    {
        Node a,b;
        a = q.top();q.pop();
        b = q.top();q.pop();
        for(int i = 0;i > b.v;i--)
        	printf("%d %d\n",a.num,b.num);
        a.v -= b.v;
        b.v = 0;
        if(a.v != 0)
            q.push(a);
    }
    return 0;
}
从来没见过这个错误的蒟蒻表示自己真的很迷。。。

回复

5 条回复,欢迎继续交流。

正在加载回复...