您的位置:首页 > 其它

Codeforces Round #350 (Div. 2) B. Game of Robots __ interesting

2016-07-09 23:24 696 查看
B. Game of Robots

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

In late autumn evening n robots gathered in the cheerful company of friends. Each robot has a unique identifier — an integer from 1 to109.

At some moment, robots decided to play the game "Snowball". Below there are the rules of this game. First, all robots stand in a row. Then the first robot says his identifier. After that the second robot says the identifier of the first robot and then says
his own identifier. Then the third robot says the identifier of the first robot, then says the identifier of the second robot and after that says his own. This process continues from left to right until the n-th
robot says his identifier.

Your task is to determine the k-th identifier to be pronounced.

Input

The first line contains two positive integers n and k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ min(2·109, n·(n + 1) / 2).

The second line contains the sequence id1, id2, ..., idn (1 ≤ idi ≤ 109) —
identifiers of roborts. It is guaranteed that all identifiers are different.

Output

Print the k-th pronounced identifier (assume that the numeration starts from 1).

Examples

input
2 2
1 2


output
1


input
4 5
10 4 18 3


output
4


Note

In the first sample identifiers of robots will be pronounced in the following order: 1, 1, 2.
As k = 2, the answer equals to 1.

In the second test case identifiers of robots will be pronounced in the following order: 10, 10, 4, 10, 4, 18, 10, 4, 18, 3.
As k = 5, the answer equals to 4.

Source

http://codeforces.com/contest/670/problem/B

My Solution

这个思维题, 不用构造或模拟哦, 直接-=i就可以的^_^
#include <iostream>
#include <cstdio>
#include <string>
#include <sstream>
using namespace std;
const int maxn = 100000 + 8;
int val[maxn];

int main()
{
int n, k;
string line;
bool get = false;
scanf("%d%d", &n, &k);
for(int i = 1; i <= n; i++){
scanf("%d", &val[i]);
if(!get){
if(k > i) k -= i;
else{
printf("%d", val[k]);
get = true;
}
}

}

return 0;
}


Thank you

------from ProLights
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: