A. Alyona and Numbers
time limit per test
memory limit per test
input
output
After finishing eating her bun, Alyona came up with two integers n and m. She decided to write down two columns of integers — the first column containing integers from 1 to n and the second containing integers from 1 to m. Now the girl wants to count how many pairs of integers she can choose, one from the first column and the other from the second column, such that their sum is divisible by 5.
Formally, Alyona wants to count the number of pairs of integers (x, y) such that 1 ≤ x ≤ n, 1 ≤ y ≤ m and
equals 0.
As usual, Alyona has some troubles and asks you to help.
Input
The only line of the input contains two integers n and m (1 ≤ n, m ≤ 1 000 000).
Output
Print the only integer — the number of pairs of integers (x, y) such that 1 ≤ x ≤ n, 1 ≤ y ≤ m and (x + y) is divisible by 5.
Examples
Input
6 12
Output
14
Input
11 14
Output
31
Input
1 5
Output
1
Input
3 8
Output
5
Input
5 7
Output
7
Input
21 21
Output
88
Note
Following pairs are suitable in the first sample case:
- for x = 1 fits y equal to 4 or 9;
- for x = 2 fits y equal to 3 or 8;
- for x = 3 fits y equal to 2, 7 or 12;
- for x = 4 fits y equal to 1, 6 or 11;
- for x = 5 fits y equal to 5 or 10;
- for x = 6 fits y equal to 4 or 9.
Only the pair (1, 4)
大体题意:
给你n和m 1 <= x <= n , 1 <= y <= m,问有多少对(x,y)满足(x+y) % 5 == 0
直接枚举n 然后计算出m 的上界和下界 加一下即可!
坑: 结果会爆int 要开long long
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int main(){
int n,m;
while(scanf("%d %d",&n, &m) == 2){
ll ans=0;
for (int i = 1; i <= n; ++i){
int l = 1,r = m;
while((i + l) % 5)++l;
while((i + r) % 5)--r;
ans += (r-l)/5+1;
}
printf("%I64d\n",ans);
}
return 0;
}