[ABC087A] Buying Sweets[ABC051A] Haiku[AT_yahoo_procon2017_qual_b]オークション

[ABC087A] Buying Sweets

[ABC051A] Haiku

[AT_yahoo_procon2017_qual_b]オークション

3合一,解析依次

题面翻译

你手头有 X X X 元钱,每个蛋糕 A A A 元,每个甜甜圈 B B B 元,求购买蛋糕和甜甜圈后最少剩下多少钱。

注意:如果钱可以花光,请输出 0 0 0 。样例3和样例7的输出都为0。

你会先买一个蛋糕,然后尽可能的多买甜甜圈。

感谢@hiuseues 提供的翻译

题目描述

あなたは、$ X $ 円を持ってケーキとドーナツを買いに出かけました。

あなたはまずケーキ屋で $ 1 $ 個 $ A $ 円のケーキを $ 1 $ 個買いました。 次に、ドーナツ屋で $ 1 $ 個 $ B $ 円のドーナツをできるだけたくさん買いました。

これらの買い物のあと手元に残っている金額は何円ですか。

输入格式

入力は以下の形式で標準入力から与えられる。

$ X $ $ A $ $ B $

输出格式

買い物のあとに残った金額を出力せよ。

样例 #1

样例输入 #1

1234
150
100

样例输出 #1

84

样例 #2

样例输入 #2

1000
108
108

样例输出 #2

28

样例 #3

样例输入 #3

579
123
456

样例输出 #3

0

样例 #4

样例输入 #4

7477
549
593

样例输出 #4

405

提示

制約

  • $ 1\ \leq\ A,\ B\ \leq\ 1,000 $
  • $ A\ +\ B\ \leq\ X\ \leq\ 10,000 $
  • $ X,\ A,\ B $ は整数である

Sample Explanation 1

ケーキを買ったあとに手元に残っている金額は $ 1234\ -\ 150\ =\ 1084 $ 円です。 この金額でドーナツは $ 10 $ 個買うことができ、ドーナツの購入後に残る金額は $ 84 $ 円です。

//这个题貌似有问题,我一开始做的完全和答案对不上,但是算能算对
//解这个题我想了很多,但是没想到最后这么短的的代码是过了的,在此之前的代码写了很多特判
//while完毕后,需要加回一次递增/递减量来达到某个东西最大化利用的效果,因为while完了就是不满足条件的退出(干嘛写这个啊??
int main(){
	ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
	int x,a,b;
	cin>>x>>a>>b;
	x-=a;
	cout<<x%b;
	return 0;
}

オークション

题面翻译

高桥君看见了N个商品,他决定购买其中的K个

然后输入第i个物品的价格(A[i])

不过时间有限,每天只能购买1个商品

不过商家十分黑心第二天开始每个商品都会上涨1元

求最少花多少元才可以购买K个商品

感谢@RioBlu里约布鲁 提供的翻译

题目描述

高橋君はオークションサイトでの買い物を楽しんでいます。 今、このオークションサイトには $ N $ 個の商品が出品されており、$ i $ 個目の商品の値段は $ A_i $ 円です。 このオークションサイトでは、一日に一個までしか商品を買うことができず、 一日たつごとにどの商品も値段が $ 1 $ 円ずつ増えます。 もちろん、同じ商品は一度までしか買うことはできません。

高橋君は $ K $ 個の商品を買いたいです。 高橋君が $ K $ 個の商品を買うために必要な金額の最小値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

$ N $ $ K $ $ A_1 $ $ A_2 $ $ … $ $ A_N $

输出格式

高橋君が $ K $ 個の商品を買うためにかかる金額の総和の最小値を一行に出力せよ。

样例 #1

样例输入 #1

3 2
1 3 5

样例输出 #1

5

样例 #2

样例输入 #2

5 3
6 3 2 4 7

样例输出 #2

12

提示

制約

  • $ 1\ ≦\ N\ ≦\ 10^5 $
  • $ 1\ ≦\ K\ ≦\ N $
  • $ 1\ ≦\ A_i\ ≦\ 10^9 $

Sample Explanation 1

例えば、以下のように買い物をすれば高橋君は $ 5 $ 円で $ 2 $ 個の商品を買うことができます。 - $ 1 $ 日目に $ 3 $ 円の商品を買う。このとき、残りの商品の値段は $ 1 $ 円ずつ上がり、$ 2 $ 円と $ 6 $ 円の商品が残る。 - $ 2 $ 日目に $ 2 $ 円の商品を買う。このとき、使った金額の合計は $ 5 $ 円となる。

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
signed main(){
	ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
	ll n,k;cin>>n>>k;ll arr[n],sum=0;
	for(ll i=0;i<n;++i)cin>>arr[i];
	sort(arr,arr+n);
	for(ll i=0;i<k;++i)sum+=arr[i]+i;
	cout<<sum;
	return 0;
}

[ABC051A] Haiku

题面翻译

题目描述

海豚们的语言总爱在一个单词后面加一个,(英文逗号)已知他们的说话的格式是

[5个小写字母],[7个小写字母],[5个小写字母]

你知道人类的语言是不会再单词后面加逗号的,所以请你
把海豚语言转换成人类的语言。

输入格式

一行,一个字符串s。

输出格式

一行,转换后的语言。

输入样例1

happy,newyear,enjoy

输出样例1

happy newyear enjoy

输入样例2

haiku,atcoder,tasks

输出样例2

haiku atcoder tasks

输入样例3

abcde,fghihgf,edcba

输出样例3

abcde fghihgf edcba

题目描述

イルカは、新年に長さ $ 19 $ の文字列 $ s $ を受け取りました。
文字列 $ s $ の形式は [英小文字 $ 5 $ 文字],[英小文字 $ 7 $ 文字],[英小文字 $ 5 $ 文字] で表されます。
イルカは、カンマで区切られた文字列 $ s $ を、スペースで区切られた文字列に変換したいと思っています。
イルカの代わりに、この処理を行うプログラムを作ってください。

输入格式

入力は以下の形式で標準入力から与えられる。

$ s $

输出格式

処理した後の文字列を出力せよ。

样例 #1

样例输入 #1

happy,newyear,enjoy

样例输出 #1

happy newyear enjoy

样例 #2

样例输入 #2

haiku,atcoder,tasks

样例输出 #2

haiku atcoder tasks

样例 #3

样例输入 #3

abcde,fghihgf,edcba

样例输出 #3

abcde fghihgf edcba

提示

制約

  • $ s $ の長さは $ 19 $ である。
  • $ s $ の $ 6 $ 文字目と $ 14 $ 文字目は , である。
  • それら以外の $ s $ の文字は英小文字である。

Sample Explanation 1

happy,newyear,enjoy に含まれるカンマをスペースで置き換えて、happy newyear enjoy を出力します。

#include<bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
	string str;
	getline(cin,str);
	transform(str.cbegin(),str.cend(),str.begin(),[](char c){
		if(c==',')return ' ';
		else return c;
	});
	cout<<str;
	
}
  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值