前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)

Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)

作者头像
Angel_Kitty
发布2018-04-09 10:51:45
7950
发布2018-04-09 10:51:45
举报

A. Vladik and Courtesy

time limit per test:2 seconds

memory limit per test:256 megabytes

input:standard input

output:standard output

At regular competition Vladik and Valera won a and b candies respectively. Vladik offered 1 his candy to Valera. After that Valera gave Vladik 2 his candies, so that no one thought that he was less generous. Vladik for same reason gave 3 candies to Valera in next turn.

More formally, the guys take turns giving each other one candy more than they received in the previous turn.

This continued until the moment when one of them couldn’t give the right amount of candy. Candies, which guys got from each other, they don’t consider as their own. You need to know, who is the first who can’t give the right amount of candy.

Input

Single line of input data contains two space-separated integers a, b (1 ≤ a, b ≤ 109) — number of Vladik and Valera candies respectively.

Output

Pring a single line "Vladik’’ in case, if Vladik first who can’t give right amount of candy, or "Valera’’ otherwise.

Examples

Input

代码语言:javascript
复制
1 1

Output

代码语言:javascript
复制
Valera

Input

代码语言:javascript
复制
7 6

Output

代码语言:javascript
复制
Vladik

Note

Illustration for first test case:

Illustration for second test case:

题目链接:http://codeforces.com/contest/811/problem/A

分析:感觉没什么说的,照着写吧,我也不知道该死的竟然WA了三发,QAQ

下面给出AC代码:

代码语言:javascript
复制
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,m;
 6     while(scanf("%d%d",&n,&m)!=EOF)
 7     {
 8         for(int i=1;;i+=2)
 9         {
10             if(n>=i)
11                 n-=i;
12             else
13             {
14                 printf("Vladik\n");
15                 return 0;
16             }
17             if(m>=i+1)
18                 m-=(i+1);
19             else
20             {
21                 printf("Valera\n");
22                 return 0;
23             }
24         }
25     }
26     return 0;
27 }

B. Vladik and Complicated Book

time limit per test:2 seconds

memory limit per test:256 megabytes

input:standard input

output:standard output

Vladik had started reading a complicated book about algorithms containing n pages. To improve understanding of what is written, his friends advised him to read pages in some order given by permutation P = [p1, p2, ..., pn], where pi denotes the number of page that should be read i-th in turn.

Sometimes Vladik’s mom sorted some subsegment of permutation P from position l to position r inclusive, because she loves the order. For every of such sorting Vladik knows number x — what index of page in permutation he should read. He is wondered if the page, which he will read after sorting, has changed. In other words, has px changed? After every sorting Vladik return permutation to initial state, so you can assume that each sorting is independent from each other.

Input

First line contains two space-separated integers n, m (1 ≤ n, m ≤ 104) — length of permutation and number of times Vladik's mom sorted some subsegment of the book.

Second line contains n space-separated integers p1, p2, ..., pn (1 ≤ pi ≤ n) — permutation P. Note that elements in permutation are distinct.

Each of the next m lines contains three space-separated integers li, ri, xi (1 ≤ li ≤ xi ≤ ri ≤ n) — left and right borders of sorted subsegment in i-th sorting and position that is interesting to Vladik.

Output

For each mom’s sorting on it’s own line print "Yes", if page which is interesting to Vladik hasn't changed, or "No" otherwise.

Examples

Input

代码语言:javascript
复制
5 5
5 4 3 2 1
1 5 3
1 3 1
2 4 3
4 4 4
2 5 3

Output

代码语言:javascript
复制
Yes
No
Yes
Yes
No

Input

代码语言:javascript
复制
6 5
1 4 3 2 5 6
2 4 3
1 6 2
4 5 4
1 3 3
2 6 3

Output

代码语言:javascript
复制
Yes
No
Yes
No
Yes

Note

Explanation of first test case:

  1. [1, 2, 3, 4, 5] — permutation after sorting, 3-rd element hasn’t changed, so answer is "Yes".
  2. [3, 4, 5, 2, 1] — permutation after sorting, 1-st element has changed, so answer is "No".
  3. [5, 2, 3, 4, 1] — permutation after sorting, 3-rd element hasn’t changed, so answer is "Yes".
  4. [5, 4, 3, 2, 1] — permutation after sorting, 4-th element hasn’t changed, so answer is "Yes".
  5. [5, 1, 2, 3, 4] — permutation after sorting, 3-rd element has changed, so answer is "No".

题目链接:http://codeforces.com/contest/811/problem/B

分析:给出一个1~n的排列 m次询问一个区间[l,r]排序后原来x位置的数是否改变

可以直接找[l,r]中x的值的前面的数字个数,然后判断b==x-l+1是否成立,成立为Yes!

下面给出AC代码:

代码语言:javascript
复制
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,m,a[10010],b;
 4 int main()
 5 {
 6     scanf("%d%d",&n,&m);
 7     for(int i=1;i<=n;i++)
 8         scanf("%d",a+i);
 9     for(int i=1;i<=m;i++)
10     {
11         int l,r,x;
12         scanf("%d%d%d",&l,&r,&x);
13         b=0;
14         for(int i=l;i<=r;i++)
15             if(a[i]<=a[x])
16                 b++;
17         puts(b==x-l+1?"Yes":"No");
18     }
19     return 0;
20 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • A. Vladik and Courtesy
  • B. Vladik and Complicated Book
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档