zoukankan      html  css  js  c++  java
  • 每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。

    遇到问题要常思考为什么,做这道题的时候,要注意给定的数据范围。
    第一行三个整数n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大于等于1小于等于1e6),接下来n行,每行两个整数ai和bi,均小于等于1e6大于等于1
    上面这句话就是提示我们要用长整型。。。。。。。。。。

    // ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include<iostream>
    #include<vector>
    #include<iomanip>
    #include<algorithm>
    using namespace std;
    
    int minFlag(vector<int> vec)//返回最大值对应的下标
    {
    	int min = vec[0];
    	int flag = 0;
    	for (int i = 0; i < vec.size(); i++)
    	{
    		if (min > vec[i])
    		{
    			min = vec[i];
    			flag = i;
    		}
    	}
    	return flag;
    }
    
    int main()
    {
    	int n, r, avg;
    	while (cin >> n >> r >> avg)
    	{
    		long int total = n*avg;//需要达到的总成绩
    		vector<int> aVec; //没门课的平时成绩
    		vector< int> bVec;
    		for (int i = 0; i < n; i++)
    		{
    			int a, b;
    			cin >> a >> b;
    			aVec.push_back(a);
    			bVec.push_back(b);
    		}
    		long int sum = 0;//已经获得的总成绩
    		long int time = 0;//还需要努力的时间
    		for (int i = 0; i < n; i++)
    		{
    			sum = sum + aVec[i];
    		}
    
    		if (sum < total)
    		{
    			while (sum < total)
    			{
    				int flag = minFlag(bVec);
    			
    			//	cout << "flag:" << flag << "  ";
    				while (aVec[flag] < r) //当aVec的元素小于r时
    				{
    					sum++;
    					aVec[flag]= aVec[flag]+1;
    		//			cout << "aVec[" << flag << "]: "<< aVec[flag]<<endl;
    					time = time + bVec[flag];
    					if (sum >= total) { break; }
    				}
    				if (aVec[flag] >= r)
    				{
    					aVec.erase(aVec.begin() + flag);
    					bVec.erase(bVec.begin() + flag);
    				}
    				
    					
    
    			}
    		}
    
    
    		cout << time << endl;
    
    	}
    
    	return 0;
    }
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6479005.html
Copyright © 2011-2022 走看看