一.
1.题目大意-----做饭(cook)
小可为了体现对达达的爱,特意要为即将下班的达达做一顿丰富的晚饭!已知达达到家时间是K时刻,并且知道当前处在now时刻。
小可需要p秒时间去准备好饭菜。
假设小可制作晚饭总共需要q秒时间。
请问赶在达达到家之前,小可是否能准备完晚饭?
2.解析
先把达达到家的时刻和当前时间都变成秒数,再把达达到家的时刻和当前时间相减的时间和准备时间+制作时间的和比较,大于就输出No,否则输出Yes.
3.代码
1.题目大意-----评价标准(criterion)
给定一个长度为n的数组S ,其中包含S1,S2.......Sn;
定义数组S的评价标准为: 最大值-最小值 。
小可同学觉得问题过于简单。然后定义了一种操作:给定一个操作值k ,然后任意从数组中选择一个数字x ,x可以将数字k 加上 ,或者减去 k,之后得到一个新的数组,并使得新数组的评价标准最小。最终输出最小的评价标准。
2.解析
给定一个操作值 k,然后任意从数组中选择一个数字x,可以将数字 x 加上 k,或者减去 k,之后得到一个新的数组,并使得新数组的评价标准最小。最终输出最小的评价标准。
3.代码
1.题目大意-----小可买菜(buy)
小可对达达真的是真爱!
小可为了体现对达达的爱,特意要为即将下班的达达做一顿丰富的晚饭!做饭之前需要先购买足够的新鲜的食材,小可来到了超市。
小可列了一个购买清单,总共有 n个食材需要购买,在超市中第i个食材的价格是vi。
今天超市正在进行促销活动,每满两个商品,都可以进行促销活动,促销活动
为了节省金钱,小可还在线购买了k 张超市折扣券,每两件商品可以使用一张折扣券,使用两个商品中最低价格购买当前这两件商品。
注意:商品不能重复参加活动。
请问小可购买清单中所有物品都购买后,最低花费多少多少元?
2.解析
小可可以使用折扣券使用两个商品中最低价格购买当前两件商品,再用商场的促销活动,使用两个商品中最低价格购买当前这两件商品。,最后算出花费多少多少元?
3.代码
#include<bits/stdc++.h>
using namespace std;
long long n,k,a[1000010];
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
int l=1,r=n;
long long sum=0;
while(l<=r){
if(k>0){
k--;
sum+=a[l];
++l,--r;
}else{
sum+=a[r];
--r;
--r;
}
}
cout<<sum<<endl;
return 0;
}
1.题目大意-----美味佳肴(cuisine)
吃面包要配果酱
吃薯条要配番茄酱
。。。
达达发现,小可准备的这些美食中,很多食物搭配起来吃最美味了!
小可为了让达达吃起来最顺利,已经给食物提前进行了标记,标记分为两种: 大写字母 和 ? ,相同大写字母表示两个食物搭配起来吃最美味, ? 则表示搭配任何一个食物吃都非常美味,但是达达有习惯,一旦使用当前这种食物搭配另一个食物,达达就不会再去搭配其他食物吃,也就是说每个 ? 确定与某个食物搭配后,则不能再与其他食物搭配食用。
现在请问小可制作的饭菜中最多有多少种不同的搭配。注意:
不同的搭配表示,字符相等,但是位置不同。
形式化的讲,给定一个由 大写字母 和 ? 构成的字符串s ,在字符串中存在l,r 满足l<r 且s[l]==s[r],则表示一种美味搭配。找出最多的不同的搭配,当l不同或r不同,就表示一种不同搭配。
2.解析
先循环k次,最小与最大值结合,累加最小值并删除最小值与最大值,循环用双指针再累积.