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
output
input
output
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就可以的^_^
Thank you
------from ProLights
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
相关文章推荐
- linux下设置强制访问和打开文件数
- 剑指offer 15题 【代码的鲁棒性】链表中倒数第k个结点
- AS中快捷将json数据生成bean
- Remainders Game CF687B(数论 判断x%k的值)
- 用go和zk实现一个简单的分布式server
- windows 7 禁用后台自启软件
- 异常处理
- SPI的算法
- Makefile简单总结
- 2016-7-9 杂感
- 数据结构哈希表的闭散列基本实现
- python笔记-import用法
- 275. H-Index II
- C++深拷贝和浅拷贝
- 307. Range Sum Query - Mutable
- 位运算(C/C++)
- 位运算(C/C++)
- 位运算(C/C++)
- 位运算(C/C++)
- 位运算(C/C++)