赞
踩
(1)排队接水
问题描述
有N个人排队到M个水龙头去打水,他们装满水桶的时间T1,T2……Tn为整数且各不相等,应如何安排他们的打水顺序才能使他们花费的总时间最少?
输入格式
第1行:两个整数n和m,n表示人的个数,m表示水龙头的个数;
第2行,n个数分别表示n个人装水的时间
数据范围:m<=n/3,n<=1000,t<3000。
输出格式
一个整数,表示总花费的最少时间。
样例输入
6 2
5 4 6 2 1 7
样例输出
40
- //#include<iostream>
- #include<bits/stdc++.h>
- //#include<algorithm>
- using namespace std;
- int main(){
- int n,m;
- cin>>n>>m;
- int a[10000]={0};
- for(int i=1;i<=n;i++){
- cin>>a[i];
- }
- //总时间=接水时间+排队时间,对每个人来说自己的接水时间固定
- //所以总时间由中等待时间决定,当接水时间短的在前面时总时间最短
- //因为对于前面接好水的人来说,不用再排队,因此前面接水的人用的时间越短他的等待时间越短
- sort(a+1,a+n+1); //注是左闭右开:[a+1,a+n+1)
- int wait[10000]={0};//记录n个人各自的时间
- int sum=0;
- for(int i=1;i<=m;i++){
- wait[i]=a[i];//前m个用时短的人直接接水,无等待时间
- sum+=wait[i];
- }
- for(int i=m+1;i<=n;i++){
- wait[i]=a[i]+wait[i-m];
- sum+=wait[i];
- }
- cout<<sum;
- }
(2)试题 算法训练 礼物
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
JiaoShou在爱琳大陆的旅行完毕,即将回家,为了纪念这次旅行,他决定带回一些礼物给好朋友。
在走出了怪物森林以后,JiaoShou看到了排成一排的N个石子。
这些石子很漂亮,JiaoShou决定以此为礼物。
但是这N个石子被施加了一种特殊的魔法。
如果要取走石子,必须按照以下的规则去取。
每次必须取连续的2*K个石子,并且满足前K个石子的重量和小于等于S,后K个石子的重量和小于等于S。
由于时间紧迫,Jiaoshou只能取一次。
现在JiaoShou找到了聪明的你,问他最多可以带走多少个石子。
输入格式
第一行两个整数N、S。
第二行N个整数,用空格隔开,表示每个石子的重量。
输出格式
第一行输出一个数表示JiaoShou最多能取走多少个石子。
样列输入
8 3
1 1 1 1 1 1 1 1
样列输出
6
样列解释
任意选择连续的6个1即可。
数据规模和约定
对于20%的数据:N<=1000
对于70%的数据:N<=100,000
对于100%的数据:N<=1000,000,S<=10^12,每个石子的重量小于等于10^9,且非负
- //暴力解导致部分测试点运行超时
- #include<iostream>
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long int LL;
- LL a[1000]={0};
- LL sum(LL start,LL time){
- LL total=0;
-
- for(int i=0;i<time;i++){
- total+=a[start+i];
-
- }
- // cout<<endl;
- return total;
- }
- int main(){
- LL n,s;
- cin>>n>>s;
- LL max=0;
- LL times=0;
- LL sum_last=0,sum_pre=0;
- for(LL i=0;i<n;i++){
- cin>>a[i];
- }
- for(LL i=0;i<n;i++){
- times=0;
- for(LL t=1;t<=n/2;t++){
- if(i+2*t<=n){
- sum_pre=sum(i,t);//输入范围左闭右开
-
- sum_last=sum(i+t,t);
-
- // cout<<sum_pre<<" "<<sum_last<<endl;
- if(sum_pre<=s&&sum_last<=s){
-
- if(t>max)max=t;
- }
- }
-
-
- }
- }
- cout<<max*2<<endl;
- return 0;
- }
(3)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。