Codeforces Round #Pi (Div. 2) A B
2015-08-06 08:34
483 查看
【比赛链接】 click here~~
今早发现昨天的比赛居然掉分了,顿时无语了,发一下AB题解吧,感觉前两道还是很好做的,不过这时间卡在半夜,水了两道,实在是困的不行了,囧~~
A. Lineland Mail
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
All cities of Lineland are located on the Ox coordinate axis. Thus, each city is associated with its position xi —
a coordinate on theOx axis. No two cities are located at a single point.
Lineland residents love to send letters to each other. A person may send a letter only if the recipient lives in another city (because if they live in the same city, then it is easier to drop in).
Strange but true, the cost of sending the letter is exactly equal to the distance between the sender's city and the recipient's city.
For each city calculate two values mini and maxi,
where mini is the minimum
cost of sending a letter from the i-th city to some other city, and maxi is
the the maximum cost of sending a letter from the i-th city to some other city
Input
The first line of the input contains integer n (2 ≤ n ≤ 105)
— the number of cities in Lineland. The second line contains the sequence ofn distinct integers x1, x2, ..., xn ( - 109 ≤ xi ≤ 109),
where xi is the x-coordinate
of the i-th city. All the xi's
are distinct and follow inascending order.
Output
Print n lines, the i-th
line must contain two integers mini, maxi,
separated by a space, where mini is
the minimum cost of sending a letter from the i-th city, and maxi is
the maximum cost of sending a letter from the i-th city.
Sample test(s)
input
output
input
output
【题意】给出一个n个元素的已经排序的数列,求每个元素在剩下的元素之间任取一个元素求和的最小和最大值,因为是已经排好序,所以直接比较
代码:
B. Berland National Library
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Berland National Library has recently been built in the capital of Berland. In addition, in the library you can take any of the collected works of Berland leaders, the library has a reading
room.
Today was the pilot launch of an automated reading room visitors' accounting system! The scanner of the system is installed at the entrance to the reading room. It records the events of the form "reader entered room", "reader left
room". Every reader is assigned aregistration number during the registration procedure at the library — it's a unique integer from 1 to 106.
Thus, the system logs events of two forms:
"+ ri"
— the reader with registration number ri entered
the room;
"- ri"
— the reader with registration number ri left
the room.
The first launch of the system was a success, it functioned for some period of time, and, at the time of its launch and at the time of its shutdown, the reading room may already have visitors.
Significant funds of the budget of Berland have been spent on the design and installation of the system. Therefore, some of the citizens of the capital now demand to explain the need for this system and the benefits that its implementation
will bring. Now, the developers of the system need to urgently come up with reasons for its existence.
Help the system developers to find the minimum possible capacity of the reading room (in visitors) using the log of the system available to you.
Input
The first line contains a positive integer n (1 ≤ n ≤ 100)
— the number of records in the system log. Next follow n events from the system journal in the order in which the were made. Each event was written
on a single line and looks as "+ ri"
or "- ri",
where ri is an integer from 1 to 106,
the registration number of the visitor (that is, distinct visitors always have distinct registration numbers).
It is guaranteed that the log is not contradictory, that is, for every visitor the types of any of his two consecutive events are distinct. Before starting the system, and after stopping the room may possibly contain visitors.
Output
Print a single integer — the minimum possible capacity of the reading room.
Sample test(s)
input
output
input
output
input
output
Note
In the first sample test, the system log will ensure that at some point in the reading room were visitors with registration numbers 1,1200 and 12001.
More people were not in the room at the same time based on the log. Therefore, the answer to the test is 3.
【题目大意】:给出一个reading room的人数的流量,求最大的容量,set的运用
代码:
今早发现昨天的比赛居然掉分了,顿时无语了,发一下AB题解吧,感觉前两道还是很好做的,不过这时间卡在半夜,水了两道,实在是困的不行了,囧~~
A. Lineland Mail
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
All cities of Lineland are located on the Ox coordinate axis. Thus, each city is associated with its position xi —
a coordinate on theOx axis. No two cities are located at a single point.
Lineland residents love to send letters to each other. A person may send a letter only if the recipient lives in another city (because if they live in the same city, then it is easier to drop in).
Strange but true, the cost of sending the letter is exactly equal to the distance between the sender's city and the recipient's city.
For each city calculate two values mini and maxi,
where mini is the minimum
cost of sending a letter from the i-th city to some other city, and maxi is
the the maximum cost of sending a letter from the i-th city to some other city
Input
The first line of the input contains integer n (2 ≤ n ≤ 105)
— the number of cities in Lineland. The second line contains the sequence ofn distinct integers x1, x2, ..., xn ( - 109 ≤ xi ≤ 109),
where xi is the x-coordinate
of the i-th city. All the xi's
are distinct and follow inascending order.
Output
Print n lines, the i-th
line must contain two integers mini, maxi,
separated by a space, where mini is
the minimum cost of sending a letter from the i-th city, and maxi is
the maximum cost of sending a letter from the i-th city.
Sample test(s)
input
4 -5 -2 2 7
output
3 12 3 9 4 7 5 12
input
2 -1 1
output
2 2 2 2
【题意】给出一个n个元素的已经排序的数列,求每个元素在剩下的元素之间任取一个元素求和的最小和最大值,因为是已经排好序,所以直接比较
代码:
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=4e5+10; LL num ; int main(){ int n,m; cin>>n; for(int i=0; i<n; ++i)cin>>num[i]; int minn,maxx; for(int i=0; i<n; ++i){ if(i&&i<n-1) minn=min(num[i]-num[i-1],num[i+1]-num[i]); else if(i==0) minn=num[1]-num[0]; else minn=num[n-1]-num[n-2]; maxx=max(num[i]-num[0],num[n-1]-num[i]); cout<<minn<<" "<<maxx<<endl; } return 0; }
B. Berland National Library
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Berland National Library has recently been built in the capital of Berland. In addition, in the library you can take any of the collected works of Berland leaders, the library has a reading
room.
Today was the pilot launch of an automated reading room visitors' accounting system! The scanner of the system is installed at the entrance to the reading room. It records the events of the form "reader entered room", "reader left
room". Every reader is assigned aregistration number during the registration procedure at the library — it's a unique integer from 1 to 106.
Thus, the system logs events of two forms:
"+ ri"
— the reader with registration number ri entered
the room;
"- ri"
— the reader with registration number ri left
the room.
The first launch of the system was a success, it functioned for some period of time, and, at the time of its launch and at the time of its shutdown, the reading room may already have visitors.
Significant funds of the budget of Berland have been spent on the design and installation of the system. Therefore, some of the citizens of the capital now demand to explain the need for this system and the benefits that its implementation
will bring. Now, the developers of the system need to urgently come up with reasons for its existence.
Help the system developers to find the minimum possible capacity of the reading room (in visitors) using the log of the system available to you.
Input
The first line contains a positive integer n (1 ≤ n ≤ 100)
— the number of records in the system log. Next follow n events from the system journal in the order in which the were made. Each event was written
on a single line and looks as "+ ri"
or "- ri",
where ri is an integer from 1 to 106,
the registration number of the visitor (that is, distinct visitors always have distinct registration numbers).
It is guaranteed that the log is not contradictory, that is, for every visitor the types of any of his two consecutive events are distinct. Before starting the system, and after stopping the room may possibly contain visitors.
Output
Print a single integer — the minimum possible capacity of the reading room.
Sample test(s)
input
6 + 12001 - 12001 - 1 - 1200 + 1 + 7
output
3
input
2 - 1 - 2
output
2
input
2 + 1 - 1
output
1
Note
In the first sample test, the system log will ensure that at some point in the reading room were visitors with registration numbers 1,1200 and 12001.
More people were not in the room at the same time based on the log. Therefore, the answer to the test is 3.
【题目大意】:给出一个reading room的人数的流量,求最大的容量,set的运用
代码:
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long LL; LL num[400010]; char op[10]; int main() { int t,n,m; cin>>t; set <int >val; int res=0; for(int i=0; i<t; ++i) { cin>>op>>m; switch(op[0]) { case'+': val.insert(m); res=max(res,int(val.size())); break; case'-': if(val.find(m)==val.end()) res++; else { val.erase(m); res=max(res,int(val.size())); } break; } } cout<<res<<endl; }
相关文章推荐
- C#开发winform中OpenFileDialog的运用还可以多选
- 南邮 OJ 1492 Nasty Hacks
- ADB not responding. If you'd like to retry, then please manually kill “adb.exe” and click 'Restart'
- 南邮 OJ 1484 烧饼重叠问题
- NSArray和NSMutableArray
- 南邮 OJ 1469 求和
- typeof() test demo
- LeetCode Single Number II
- 利用Mono.Cecil动态修改程序集来破解商业组件
- LeetCode Single Number II
- 【OC06】类目、延展、协议、计时器(连载八)
- linux挂载光盘,U盘
- 登陆界面的完善
- MVC框架介绍
- 文件目录和库
- JavaScript权威指南_149_第15章_脚本化文档_15.10-其他文档特性-可编辑的内容
- Python编译器实现内幕:添加一个新语句
- 南邮 OJ 1464 Text Messaging
- Python编译器实现内幕:添加一个新语句
- 为何大多数人做出来的图表只是一坨屎?