您的位置:首页 > 产品设计 > UI/UE

Infinite Sequence

2016-06-05 19:40 253 查看

[align=center] Infinite Sequence[/align]
Crawling in process...
Crawling failed
Time Limit:1000MS    
Memory Limit:262144KB    
64bit IO Format:
%I64d & %I64u
Submit

Status
Practice
CodeForces 675A

Description

Vasya likes everything infinite. Now he is studying the properties of a sequence
s, such that its first element is equal to
a (s1 = a), and the difference between any two neighbouring elements is equal to
c (si - si - 1 = c). In particular, Vasya wonders if his favourite integer
b appears in this sequence, that is, there exists a positive integer
i, such that si = b. Of course, you are the person he asks for a help.

Input

The first line of the input contain three integers
a, b and
c ( - 109 ≤ a, b, c ≤ 109) — the first element of the sequence, Vasya's favorite number and the difference
between any two neighbouring elements of the sequence, respectively.

Output

If b appears in the sequence
s print "YES" (without quotes), otherwise print "NO" (without quotes).

Sample Input

Input

1 7 3


Output

YES


Input
10 10 0


Output
YES


Input
1 -4 5


Output
NO


Input
0 60 50


Output
NO

思路:

等差数列,ai若在数列中,则ai-a1是3的倍数,若则ai-a1<0,则要保证d<0,若ai-a1>0要保证d>0;

代码:

#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
int t=b-a;
if(c==0)
{
if(a==b)
printf("YES\n");
else
printf("NO\n");
}
else
{
if(t%c==0 && (t<=0 && c<0||t>=0 && c>0))
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  水题