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.

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.

Copy
```1000
108
108
```

Copy
```28
```

Copy
```579
123
456
```

Copy
```0
```

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

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.

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.

Copy
```5
1
0
150
```

### Sample Output 2

Copy
```0
```

Note that the total must be exactly X yen.

Copy
```30
40
50
6000
```

### Sample Output 3

Copy
```213
Answer key ： give change ```
``` #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

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.

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.

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.

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

Copy
```29
```

Copy
```1
2
3
```

### Sample Output 4

Copy
```5
Answer key ： Split into two arrays Use both prefix and Taking the maximum ```
``` #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) More articles about

1. AtCoder Beginner Contest 088 (ABC)

A - Infinite Coins Topic link :https://abc088.contest.atcoder.jp/tasks/abc088_a Time limit : 2sec / Memory ...

2. AtCoder Beginner Contest 050 ABC topic

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)

The question give n A little bit ,m Group relationship L,R,D,L stay R The distance to the left of D, Judge whether it exists n The individual's position satisfies m Group relationship analysis 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 topic

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 topic

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

## Random recommendation

1. already installed php Compilation and installation gd Library expansion module

2. js Reading notes （ The first 4 Chapter -- Variable 、 Scope and memory ）

JavaScript The nature of variable loose type , It's just a name to save a specific value at a specific time . Since there is no rule to define what total data type value a variable must hold , The value of a variable and its data type can change over the life of the script . 1. ...

3. java 13-4 Integer and String、int Conversion between , Hexadecimal conversion

1.int The type and String Conversion of types A.int -- String Recommend to use : public static String valueOf(int i) return int String representation of parameter . B. ...

4. 《HTML5 Advanced programming 》 Summary of knowledge points （ No detailed Syntax ）

Constantly updated . explain : Main records html5 Some points of attention or knowledge in , Try not to involve specific grammatical information . One .CANVAS: testing : try{ document.createElement("canvas&qu ...

5. Intelligent PHP Miniature class

* author : Falling dream Scorpio (beluckly)* Completion time :2006-12-18* Class name :CreatMiniature* function : Generate multiple types of thumbnails * The basic parameters :\$srcFile,\$echoType* The parameters used in the method :\$ ...

6. Python3 Notes

Single-line comments # This is a comment print("Hello, World!") Multiline comment 1:3 Single quotes ''' This is a multiline comment , Use three single quotes This is a multiline comment , Use three single quotes This is a multiline comment , use ...

7. BZOJ4516 SDOI2016 Create a spell （ The suffix array + Balance tree ）

The number of substrings of a string that are essentially different is obviously the total number of substrings minus all height value . If you put characters in one by one , Every time I change all the suffixes, I can't do it at all . But it turns out that if you add from the back to the front , Only one suffix is added at a time . So we reverse the string , Every time ...

8. 21. Spring Boot Druid Data source configuration analysis

1. Data source configuration attribute class source code package org.springframework.boot.autoconfigure.jdbc; @ConfigurationProperties( prefix = ...

9. CenterOS Lower installation NodeJS