A - Buying Sweets

题目链接:https://abc087.contest.atcoder.jp/tasks/abc087_a

Time limit : 2sec / Memory limit : 256MB

Score : 100 points

Problem Statement

You went shopping to buy cakes and donuts with X yen (the currency of Japan).

First, you bought one cake for A yen at a cake shop. Then, you bought as many donuts as possible for B yen each, at a donut shop.

How much do you have left after shopping?

Constraints

  • 1≤A,B≤1 000
  • A+BX≤10 000
  • X, A and B are integers.

Input

Input is given from Standard Input in the following format:

X
A
B

Output

Print the amount you have left after shopping.


Sample Input 1

Copy
1234
150
100

Sample Output 1

Copy
84

You have 1234−150=1084 yen left after buying a cake. With this amount, you can buy 10 donuts, after which you have 84 yen left.


Sample Input 2

Copy
1000
108
108

Sample Output 2

Copy
28

Sample Input 3

Copy
579
123
456

Sample Output 3

Copy
0

Sample Input 4

Copy
7477
549
593

Sample Output 4

Copy
405
     #include<bits/stdc++.h>
using namespace std; int main()
{
int x,a,b;
while(cin>>x>>a>>b){
x-=a;
x%=b;
cout<<x<<endl;
}
return ;
}

B - Coins

题目链接:https://abc087.contest.atcoder.jp/tasks/abc087_b

Time limit : 2sec / Memory limit : 256MB

Score : 200 points

Problem Statement

You have A 500-yen coins, B 100-yen coins and C 50-yen coins (yen is the currency of Japan). In how many ways can we select some of these coins so that they are X yen in total?

Coins of the same kind cannot be distinguished. Two ways to select coins are distinguished when, for some kind of coin, the numbers of that coin are different.

Constraints

  • 0≤A,B,C≤50
  • A+B+C≥1
  • 50≤X≤20 000
  • A, B and C are integers.
  • X is a multiple of 50.

Input

Input is given from Standard Input in the following format:

A
B
C
X

Output

Print the number of ways to select coins.


Sample Input 1

Copy
2
2
2
100

Sample Output 1

Copy
2

There are two ways to satisfy the condition:

  • Select zero 500-yen coins, one 100-yen coin and zero 50-yen coins.
  • Select zero 500-yen coins, zero 100-yen coins and two 50-yen coins.

Sample Input 2

Copy
5
1
0
150

Sample Output 2

Copy
0

Note that the total must be exactly X yen.


Sample Input 3

Copy
30
40
50
6000

Sample Output 3

Copy
213

题解:找零钱
     #include<bits/stdc++.h>
using namespace std; int main()
{
int x,a,b,c;
while(cin>>a>>b>>c>>x){
x/=;
int sum=;
for(int i=;i<=a;i++){
for(int j=;j<=b;j++){
for(int k=;k<=c;k++){
if(i*+j*+k==x) sum++;
}
}
}
cout<<sum<<endl;
}
return ;
}

C - Candies

题目链接:https://abc087.contest.atcoder.jp/tasks/arc090_a

Time limit : 2sec / Memory limit : 256MB

Score : 300 points

Problem Statement

We have a N grid. We will denote the square at the i-th row and j-th column (1≤i≤2, 1≤jN) as (i,j).

You are initially in the top-left square, (1,1). You will travel to the bottom-right square, (2,N), by repeatedly moving right or down.

The square (i,j) contains Ai,j candies. You will collect all the candies you visit during the travel. The top-left and bottom-right squares also contain candies, and you will also collect them.

At most how many candies can you collect when you choose the best way to travel?

Constraints

  • 1≤N≤100
  • 1≤Ai,j≤100 (1≤i≤2, 1≤jN)

Input

Input is given from Standard Input in the following format:

N
A1,1 A1,2 A1,N
A2,1 A2,2 A2,N

Output

Print the maximum number of candies that can be collected.


Sample Input 1

Copy
5
3 2 2 4 1
1 2 2 2 1

Sample Output 1

Copy
14

The number of collected candies will be maximized when you:

  • move right three times, then move down once, then move right once.

Sample Input 2

Copy
4
1 1 1 1
1 1 1 1

Sample Output 2

Copy
5

You will always collect the same number of candies, regardless of how you travel.


Sample Input 3

Copy
7
3 3 4 5 4 5 3
5 3 4 4 2 3 2

Sample Output 3

Copy
29

Sample Input 4

Copy
1
2
3

Sample Output 4

Copy
5

题解:分成两个数组 同时使用前缀和 取最大值
     #include<bits/stdc++.h>
using namespace std;
int a[],b[];
int suma[],sumb[];
int main()
{
int n;
while(cin>>n){
for(int i=;i<n;i++){
cin>>a[i];
}
for(int i=;i<n;i++){
cin>>b[i];
}
suma[]=a[];sumb[]=b[];
for(int i=;i<n;i++){
suma[i]=suma[i-]+a[i];
sumb[i]=sumb[i-]+b[i];
}
int maxn=suma[]+sumb[n-];
for(int i=;i<n;i++){
int sum=suma[i]+sumb[n-]-sumb[i-];
maxn=max(maxn,sum);
}
cout<<maxn<<endl;
}
return ;
}


AtCoder Beginner Contest 087 (ABC)的更多相关文章

  1. AtCoder Beginner Contest 088 (ABC)

    A - Infinite Coins 题目链接:https://abc088.contest.atcoder.jp/tasks/abc088_a Time limit : 2sec / Memory ...

  2. AtCoder Beginner Contest 050 ABC题

    A - Addition and Subtraction Easy Time limit : 2sec / Memory limit : 256MB Score : 100 points Proble ...

  3. AtCoder Beginner Contest 087 D - People on a Line

    Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement There are N people sta ...

  4. AtCoder Beginner Contest 087 B - Coins

    Time limit : 2sec / Memory limit : 256MB Score : 200 points Problem Statement You have A 500-yen coi ...

  5. AtCoder Beginner Contest 087 D People on a Line(DFS)

    题意 给出n个点,m组关系L,R,D,L在R的左边距离D,判断是否存在n个人的位置满足m组关系 分析 Consider the following directed graph G: There ar ...

  6. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  7. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  8. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  9. AtCoder Beginner Contest 068 ABCD题

    A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contes ...

随机推荐

  1. centos安装Django之四:安装Django

    前面我们学会了centos安装Django之一:安装openssl和centos安装Django之二:pip3安装,centos安装Django之三:安装python,现在我们就可以安装Django了 ...

  2. Git/GitHub基本操作

    GitGit是分布式版本控制工具,SVN是集中式版本控制,有单点故障的问题GitHub是Git的代码托管中心,类似的国内有码云,是远程维护库Git的优势大部分操作在本地完成,不需要联网完整性有保证尽可 ...

  3. mysql分页优化方法

    mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...

  4. chmod a+r file:给所有用户添加读的权限

    chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限 超级用户给其他用户设置权限:sudo chmod a+rx /home/user   使所有人可以访问,读取文件,bu no W ...

  5. List与Array互相转换

    List转换为Array可以这样处理: ArrayList<String> list=new ArrayList<String>(); String[] strings = n ...

  6. C 字符及ASCII值

    .已知字母A的ASCII码为十进制的65,下面程序的输出是___A___. main() { char ch1,ch2; ch1='; ch2='; printf("%d,%c\n" ...

  7. 深入理解Lua的闭包一:概念、应用和实现原理

    本文首先通过具体的例子讲解了Lua中闭包的概念,然后总结了闭包的应用场合,最后探讨了Lua中闭包的实现原理.   闭包的概念 在Lua中,闭包(closure)是由一个函数和该函数会访问到的非局部变量 ...

  8. MySQL数据类型--与MySQL零距离接触2-8查看数据表

    SHOW COLUMNS FROM tb_name 写入列之后,需要写入行,也就是记录:INSERT 插入记录:INSERT [INTO]  tbl_name  [(col_name,...)]  V ...

  9. centos7及服务器端安装python2.7.13, setuptools, pip

    1. 安装python2.7.13 因为涉及到安装到服务器,所以可能不能直接在usr/bin及usr/local/bin下安装,所以本文详解安装在自定义目录下. 下载安装包: $ wget https ...

  10. python 判断字符串是否包含子字符串

    第一种方法:in string = 'helloworld' if 'world' in string: print 'Exist' else: print 'Not exist' 第二种方法:fin ...