NYOJ-757-期末考试

简介: NYOJ-757-期末考试


期末考试

时间限制:1000 ms | 内存限制:65535 KB

难度:2

描述

马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没

交作业就会扣期末成绩的分数,假设完成每门功课需要一天的时间,你能帮助小T扣除的分数最小吗?

输入

输入n,表示n门功课(n<2000),接下来n行,每行两个数a,b,分别表示交作业的最后期限,迟交扣除的分数。

(以文件结尾)

输出

输出扣除的最小分数。

样例输入

3

3 10

3 5

3 1

3

1 6

3 2

1 3

7

1 3

4 2

6 1

4 7

2 6

4 5

3 4样例输出

0

3

5

题目分析:此题的关键是要对数据先排一下序,怎么排问题就来了,

此问题是让尽可能的少扣分,那么就应该按时间来排了,时间短的要尽快做了,但是有可能时间短的分值很低,也不能为了做时间短的而把分值高的给放弃。所以要先按时间排序,时间相等的就按分值排序,都是从小到大排。

排完序就用队列来解决取舍问题,队首存的都是分值最高的科目,队里存的都是做过的科目。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
struct qu
{
    int t;
    int s;
}a[2001];
bool cmp(qu x,qu y)
{
    if(x.t!=y.t) return x.t<y.t;
    return x.s<y.s;
};
int main()
{
    int n;
    priority_queue<int,vector<int>,greater<int> >q;
    while(cin>>n)
    {   
       while(!q.empty())
            q.pop();
        int i;
        for(i=0;i<n;i++)
            cin>>a[i].t>>a[i].s; 
        sort(a,a+n,cmp);
        int cost=0;
        for(i=0;i<n;i++)
        {
            if(q.size()<a[i].t) // 如果队列长度(长度就是天数,你存一个就要花一天的时间做,当长度大于或等于科目的期限的化此科目就又被放弃的可能,但是不一定被放弃,看下边。
               q.push(a[i].s);
            else
            {
                if(q.top()<a[i].s)//  如果这可科目的分值比队首的分值大那么就把队首的科目放弃,接着清除队首存入这个险些被放弃的科目,依次进行(来解决取舍问题)
                {
                    cost+=q.top();
                    q.pop();
                    q.push(a[i].s); 
                }
                else
                cost+=a[i].s;
            }
        }
        cout<<cost<<endl;
    }
    return 0;
}


目录
相关文章
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与未来医疗:AI技术在疾病诊断中的应用前景####
本文探讨了人工智能(AI)在现代医疗领域,尤其是疾病诊断方面的应用潜力和前景。随着技术的不断进步,AI正逐渐改变传统医疗模式,提高诊断的准确性和效率。通过分析当前的技术趋势、具体案例以及面临的挑战,本文旨在为读者提供一个全面的视角,理解AI如何塑造未来医疗的面貌。 ####
|
人工智能 Windows
恢复消失的“Windows 照片查看器“
通过编辑Windows注册表来恢复右键菜单中消失的“Windows 照片查看器”,通过添加新的字符串值来关联图片文件类型,使得“Windows 照片查看器”重新出现在右键菜单中。
289 0
恢复消失的“Windows 照片查看器“
|
数据可视化 算法 C++
脑研究、脑网络分析、可视化的工具箱有哪些?
本文列举并简要介绍了用于脑研究、脑网络分析和可视化的多种工具箱,如Brain Connectivity Toolbox、bctpy、人类连接组项目等,为神经科学研究者提供了丰富的分析和可视化大脑网络的工具选择。
1052 2
脑研究、脑网络分析、可视化的工具箱有哪些?
|
11月前
|
安全 量子技术 芯片
光量子计算:实现通用量子计算机的路径
【10月更文挑战第3天】光量子计算作为量子计算的重要技术路径,利用光学原理处理量子信息,以光子作为量子比特,通过操控光子状态实现高效量子运算。其具备高速、高精度、易集成及低环境要求等优势,是实现通用量子计算机的关键。目前全球量子计算正处于快速发展阶段,中美等国在该领域取得显著进展,光量子计算有望在量子通信、量子化学等多个领域发挥重要作用,推动科技进步。
|
12月前
|
存储 安全 数据安全/隐私保护
CRISPR技术:基因编辑的伦理与应用
【9月更文挑战第27天】CRISPR/Cas9基因编辑技术以其高精度和效率革新了生命科学,应用于基因功能研究、遗传病治疗及作物改良,同时引发伦理争议。本文探讨其原理、人类胚胎编辑的伦理议题、个人基因隐私保护及生态影响,并展望其在医学、农业和科研领域的潜力。
|
12月前
|
JSON 前端开发 JavaScript
socket.io即时通信前端配合Node案例
本文介绍了如何使用socket.io库在Node.js环境下实现一个简单的即时通信前端配合案例,包括了服务端和客户端的代码实现,以及如何通过socket.io进行事件的发送和监听来实现实时通信。
222 2
|
11月前
|
缓存 网络协议 IDE
主动信息搜集:基于ARP的主机发现
主动信息搜集:基于ARP的主机发现
125 0
|
存储 JavaScript 前端开发
JavaScript 数组方法详解
JavaScript 数组方法详解
190 2
|
Python
【Python基础】reduce函数详解
【Python基础】reduce函数详解
1315 1
|
存储 算法 调度
万字长文!非常详细!操作系统【内存管理】
万字长文!非常详细!操作系统【内存管理】