快到春节了,小慧的妈妈在京东网站购买年货,她共购买了n种年货,每种年货的单价为ai元,她购买了bi件,如果购买的总价超过s元(含s元)就不用运费,否则就要付运费x元,小慧的妈妈希望小慧算算共需要付费多少元?
【数据范围】
对于80%的数据,1<=n<=10^3,1<=ai,bi<=10^3,1<=s,x<=10^5;
对于100%的数据,1<=n<=2*10^5,1<=ai,bi<=10^4,1<=s,x<=10^6。
输入格式
第一行输入n,s,x。
接下来n行,每行2个整数ai,bi。
输出格式
输出需付费多少元。
输入/输出例子1
输入:
2 2000 50
1000 1
100 6
输出:
1650
#include<bits/stdc++.h>
using namespace std;
long long n,s,x;
long long a[500005],b[500005],c;
int main(){
scanf("%lld%lld%lld",&n,&s,&x);
for(int i=1;i<=n;i++){
scanf("%lld%lld",&a[i],&b[i]);
c=c+a[i]*b[i];
}
if(c<s){
c=c+x;
}
cout<<c;
return 0;
}
小慧看中了某款上衣,购买了M件,但她觉得还不够,因为她希望每次外出的时候(包括上学、游玩、外出就餐)都能穿这款衣服,而她又只有不需穿这衣服时才会洗衣服,每件衣服穿过一次必须要清洗后才能再穿。现在已知未来N天里小慧的计划,问小慧至少需要再购买多少件这款衣服。
【数据范围】
对于50%的数据,1<=N,M<=10^3;
对于100%的数据,1<=N,M<=10^5;
输入格式
输入第一行两个整数N,M。
第二行为N个数字,数字只包含0,1,2,3。其中
0表示这天没有外出计划,不用穿这款衣服,但要把前面已穿过的衣服洗干净。
1表示这天要上学,需要穿这款衣服。
2表示这天要外出活动,需要穿这款衣服。
3表示这天要外出就餐,需要穿这款衣服。
输出格式
输出一个整数,表示至少需要再购买多少件衣服。
输入/输出例子1
输入:
6 1
112032
输出:
2
样例解释
原来已有一件衣服,第一、二、三天都需要穿这种衣服,第四天可以清洗衣服,第五、六天也需要穿这种衣服。因此至少需要再买2件。
#include<bits/stdc++.h>
using namespace std;
int n,m,s,maxx;
char a;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a;
if(a!='0'){
s++;
maxx=max(maxx,s);
}else{
s=0;
}
}
if(maxx<=m){
cout<<0;
}else{
cout<<maxx-m;
}
return 0;
}
小慧在玩一个智力通关游戏,这个游戏有n个关卡,每个关卡需要xi的时间看说明书,需要yi的时间通关。但如果想多次通某个关卡,则只需第一次看说明,后面不用再看说明(即如果想打通第i关t次,则所需时间为xi+t*yi)。
游戏时,必须按次序通关(即只有打通第一关,才能进行第二关,如此类推),求小慧要通m次关的最少时间(可以重复通关)。
【数据范围】
对于50%的数据,1<=n,m<=10^4;
对于100%的数据,1<=n,m<=2*10^5, 1<=xi , yi<=10^9
输入格式
第一行,两个整数n,m。
接下来n行,每行两个整数xi,yi。
输出格式
输出通关m次所需的最少时间。
输入/输出例子1
输入:
3 4
3 4
2 3
4 2
输出:
18
样例解释
第一次通第一关用7分钟,
第二次通第二关用5分钟,
第三次继续通第二关用3分钟,
第三次继续通第二关用3分钟。
#include<bits/stdc++.h>
using namespace std;
long long n,m,xi,yi,s,sum,minn=1e+15;
int main(){
scanf("%lld%lld",&n,&m);
for(long long i=1;i<=n;i++){
scanf("%lld%lld",&xi,&yi);
s+=xi+yi;
sum=s+(m-i)*yi;
minn=min(minn,sum);
}
cout<<minn;
return 0;
}
一个数列中有n个整数,其中一个数是好数的条件是:去掉该数后剩下的数如果从前往后数,奇数位置的数之和跟偶数位置的数之和相等,那么该数是“好数”。
给出n个整数的数列,问该数列中有多少个“好数”。
【数据范围】
对于40%的数据,1<=n<=10^4, ai<=1000;
对于100%的数据,1<=n<=2*10^5, ai<=100000
输入格式
第一行,一个正整数n。
第二行,n个整数,表示该数列中的数ai。
输出格式
输出好数的个数。
输入/输出例子1
输入:
7
5 5 4 5 5 5 6
输出:
2
小慧把她学会的英文单词记录了下来,现在她希望在一个文本框里完全显示出她记录的单词库。已知这个文本框最多只能显示M行,小慧的单词库有N个单词,要求按原次序显示所有单词,每个单词至少要用一个空格分开,而且一个单词的所有字母必须放在同一行。问这个文本框至少需要多宽才能满足小慧的需求。
【数据范围】
对于40%的数据,1<=N,M<=10^3,每个单词的长度<=10^2。
对于100%的数据,1<=N,M<=2*10^5,每个单词的长度<=10^9。
输入格式
第一行,两个正整数N,M。
第二行,N个正整数,表示每个单词的长度。
输出格式
能把所有单词显示出来的文本框的最少宽度。
输入/输出例子1
输入:
13 3
9 5 2 7 1 8 8 2 1 5 2 3 6
输出:
26
输入/输出例子2
输入:
30 8
8 55 26 97 48 37 47 35 55 5 17 62 2 60 23 99 73 34 75 7 46 82 84 29 41 32 31 52 32 60
输出:
189

554

被折叠的 条评论
为什么被折叠?



