顿顿总共选中了n块区域准备开垦田地,由于各块区域大小不一,开垦所需时间也不尽相同。据估算,其中第i块(1≤i≤n)区域的开垦耗时为ti天。这n块区域可以同时开垦,所以总耗时tTotal取决于耗时最长的区域,即: tTotal=max{t1,t2,…,tn} 为了加快开垦速度,顿顿准备在部分区域投入额外资源来缩短开垦时间,具体来说: ...
重点:计算垦田最小耗时。不断对开垦耗时最大的田,投入资源,缩短天数,直至无资源投入或缩减天数到达阈值k 运行结果: PS:在pycharm中能够正常运行,两个案例的测试也是正确的,然而在系统上测试是有问题的,时间使用也超时了。还未找出什么原因,明天继续做这个题目,尝试找找B站上的解说。大家有晓得咋搞的欢迎在评论区...
输入格式 输出格式 样例1输入 4 9 2 6 1 5 1 6 2 7 1 样例1输出 5 样例1解释 样例2输入 4 30 2 6 1 5 1 6 2 7 1 样例2输出 2 样例2解释 数据范围 题解 总耗时取决于耗时最长的区域,所以如果耗时最长的区域不止一个,要缩短总耗时,每次应该把所有耗时最长的时间都缩短,当剩余资源无法投入给所...
CSP 202305-2 垦田计划 发布于2023-09-11 14:13:48 2510 举报 文章被收录于专栏:叶子的开发者社区 直接用循环找最长天数的寻常写法只能拿15分,便运行超时结束了 代码语言:javascript 复制 #include <iostream> using namespace std; int main(){ int n,m,k,t=0; cin>>n>>m>>k; auto*data=new pair...
int f; // 开垦时间最长的田 减少一天时间需要的资源 int d; // 开垦时间最长值对应的田序号 for(int i = 1;i <= n;i) { if(time[i] > cmax && time[i] >= k) { cmax = time[i]; d = i; } } f = c[d]; //cout << cmax << endl << f; ...
csp垦田计划 #include<stdio.h> #include<queue> using namespace std; struct Fild{ long long t; long long c; }; //定义一个结构体,存放田地耗时和消耗资源 //找出耗时最长的田,缩短一天,循环 //设置一个数组存储耗时,优先队列 bool operator < (Fild lhs,Fild rhs){ if(lhs.t<rhs.t){ return ...
csp202303-2垦田计划 100分代码:(如果用cin输入会超时,95分)卡时间过的,正确做法是用二分 #include <bits/stdc++.h>using namespace std;typedef long long int ll;const ll maxn = 100005;int n, m, k;pair<int, int> o[maxn];bool cmp(pair<int, int> a, pair<int, int> b){if (a....
先考虑清楚算法再入手!一上来就做是大忌!我用了每次sort的方案,后面一想复杂度达到n2logn 题目 给出代码如下 #include<bits/stdc++.h>usingnamespacestd;intn,m;structnn{intt;intc;booloperator<(constnn&other)const{returnt<other.t;}}arr[100001];boolcheck(intp){longlongsum=0;for(inti=n;i>0;...