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;
}


目录
相关文章
|
6月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
6月前
|
机器学习/深度学习 并行计算 定位技术
NYOJ22-吝啬的国度
NYOJ22-吝啬的国度
32 0
|
关系型数据库 MySQL 数据库
墨天轮每日三题
墨天轮每日三题
145 0
|
uml
牛客 小乐乐学数学(扫描线+树状数组)
牛客 小乐乐学数学(扫描线+树状数组)
100 0
|
机器学习/深度学习 算法 搜索推荐
洛谷每日三题之第六天
洛谷每日三题之第六天
|
机器学习/深度学习 算法 IDE
洛谷每日三题之第四天
洛谷每日三题之第四天
|
C语言
浙大版《C语言程序设计(第3版)》题目集 - 习题8-4 报数(20 分)
浙大版《C语言程序设计(第3版)》题目集 - 习题8-4 报数(20 分)
115 0
|
人工智能 BI
洛谷 P3183 BZOJ 4562 [HAOI2016]食物链
题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数。物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3......am-1 bm-1am bm其中ai bi表示能量从物种ai流向物种bi,注意单独的一种孤立生物不算一条食物链 输入输出格式 输入格式:   第一行两个整数n和m,接下来m行每行两个整数ai bi描述m条能量流动关系。
1041 0
洛谷 P2587 BZOJ 1034 [ZJOI2008]泡泡堂
题目描述 //不知道为什么BZOJ和洛谷都没有这幅图了,大牛们几年前的博客上都有这幅图的,把它贴上来吧   第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。
1070 0