当前位置: 首页 > news >正文

CSP垦田计划

第一次的代码,直接暴力,因为结果的上限就是最大值,下限是k,直接从最大值遍历到k找到答案:

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
const int mod = 1e9+7;
typedef long long ll;
int n , m , k; // 要求的x的编号
int t[N];
int c[N];int main(){cin >> n >> m >> k;int res = 0;int num = 0;for(int i = 0 ; i < n ; i++){cin >> t[i] >> c[i];if(t[i] > num)num = t[i];}res = num;for(int i = num - 1 ; i >= 0 ; i--){int cnt = 0;for(int j = 0 ; j < n ; j++){if(t[j] == i)continue;if(t[j] > i){cnt += c[j] * (t[j] - i);}}if(cnt > m)break;else if(i < k)break;else res = i;}cout << res << endl;return 0;
}

只拿了70分,后面30分TLE了。

只好根据上下限写了个二分算法,A了。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
const int mod = 1e9+7;
typedef long long ll;
int n , m , k; // 要求的x的编号
int t[N];
int c[N];int main(){cin >> n >> m >> k;int res = 0;int num = 0;for(int i = 0 ; i < n ; i++){cin >> t[i] >> c[i];if(t[i] > num)num = t[i];}res = num;int l = k;int r = num;while(l < r){int mid = (l + r) >> 1;int cnt = 0;for(int j = 0 ; j < n ; j++){if(t[j] == mid)continue;if(t[j] > mid){cnt += c[j] * (t[j] - mid);}}if(cnt > m)l = mid + 1;else if(cnt < m)r = mid;else{l = r = mid;break;}}cout << l << endl;return 0;
}

相关文章:

  • 磁带存储:“不老的传说”依然在继续
  • 数据结构(八)二叉树、哈希查找
  • Codeforces Round 948 (Div. 2) E. Tensor(思维题-交互)
  • 【前端学习——react坑】useState使用
  • 【AI基础】数据获取与整理、打标、增强方法、增强库imgaug
  • 【Linux】初识Linux和Linux环境配置
  • uniapp一些问题解决
  • 【国产中颖】SH79F9202U单片机驱动LCD段码液晶学习笔记
  • 第13章 层次式架构设计理论与实践
  • vs2013使用qt Linguist以及tr不生效问题
  • 用易查分制作研学活动报名,支持在线签名,一键导出报名统计表格!
  • java调用远程接口下载文件
  • 深度学习——卷积神经网络
  • 实战解析:爬取音乐每日推荐歌单并自动分享
  • TextFormField onSave 和onChange
  • [译]如何构建服务器端web组件,为何要构建?
  • 《Java编程思想》读书笔记-对象导论
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • es6(二):字符串的扩展
  • ES6--对象的扩展
  • Linux Process Manage
  • Node 版本管理
  • spring boot 整合mybatis 无法输出sql的问题
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue:响应原理
  • Vue学习第二天
  • 阿里云Kubernetes容器服务上体验Knative
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 分类模型——Logistics Regression
  • 解析 Webpack中import、require、按需加载的执行过程
  • 聊聊flink的BlobWriter
  • 思考 CSS 架构
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 找一份好的前端工作,起点很重要
  • 正则表达式
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​学习一下,什么是预包装食品?​
  • #前后端分离# 头条发布系统
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (排序详解之 堆排序)
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • **PHP分步表单提交思路(分页表单提交)
  • .dwp和.webpart的区别
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net IOC框架入门之一 Unity
  • .NET Standard 的管理策略
  • .net 受管制代码
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net打印*三角形