------------------------------迟到的AK----------------------------------
A - Christmas Eve Eve Eve
Time limit : 2sec / Memory limit : 1024MB
Score : 100 points
Problem Statement
In some other world, today is December D-th.
Write a program that prints Christmas
if D=25, Christmas Eve
if D=24, Christmas Eve Eve
if D=23 and Christmas Eve Eve Eve
if D=22.
Constraints
- 22≤D≤25
- D is an integer.
签到题1,考察if语句的用法。。。
#include <iostream>
int main()
{
int n; std::cin >> n;
if (n == ) puts("Christmas");
if (n == ) puts("Christmas Eve");
if (n == ) puts("Christmas Eve Eve");
if (n == ) puts("Christmas Eve Eve Eve");
return ;
}
B - Christmas Eve Eve
Time limit : 2sec / Memory limit : 1024MB
Score : 200 points
Problem Statement
In some other world, today is the day before Christmas Eve.
Mr. Takaha is buying N items at a department store. The regular price of the i-th item (1≤i≤N) is pi yen (the currency of Japan).
He has a discount coupon, and can buy one item with the highest price for half the regular price. The remaining N−1 items cost their regular prices. What is the total amount he will pay?
Constraints
- 2≤N≤10
- 100≤pi≤10000
- pi is an even number.
签到题2,考察for语句的用法。。。
#include <iostream>
int main()
{
int n, x, si = , mi = -; std::cin >> n;
for (int i = ; i <= n; ++i)
std::cin >> x, si += x, mi = std::max(mi, x);
std::cout << si - (mi >> );
return ;
}
C - Christmas Eve
Time limit時間制限 : 2sec / Memory limitメモリ制限 : 1024MB
Score : 300 points
Problem Statement
In some other world, today is Christmas Eve.
There are N trees planted in Mr. Takaha's garden. The height of the i-th tree (1≤i≤N) is hi meters.
He decides to choose K trees from these trees and decorate them with electric lights. To make the scenery more beautiful, the heights of the decorated trees should be as close to each other as possible.
More specifically, let the height of the tallest decorated tree be hmax meters, and the height of the shortest decorated tree be hmin meters. The smaller the value hmax−hmin is, the better. What is the minimum possible value of hmax−hmin?
Constraints
- 2≤K<N≤105
- 1≤hi≤109
- hi is an integer.
签到题3,考察sort函数的用法。。。
#include <iostream>
#include <algorithm>
int h[];
int main()
{
int n, mi = 2e9 + , k; std::cin >> n >> k;
for (int i = ; i <= n; ++i) std::cin >> h[i];
std::sort(h + , h + n + );
for (int i = k; i <= n; ++i) mi = std::min(mi, h[i] - h[i - k + ]);
std::cout << mi;
return ;
}
D - Christmas
Time limit時間制限 : 2sec / Memory limitメモリ制限 : 1024MB
Score : 400 points
Problem Statement
In some other world, today is Christmas.
Mr. Takaha decides to make a multi-dimensional burger in his party. A level-L burger (L is an integer greater than or equal to 0) is the following thing:
- A level-0 burger is a patty.
- A level-L burger (L≥1) is a bun, a level-(L−1) burger, a patty, another level-(L−1) burger and another bun, stacked vertically in this order from the bottom.
For example, a level-1 burger and a level-2 burger look like BPPPB
and BBPPPBPBPPPBB
(rotated 90 degrees), where B
and P
stands for a bun and a patty.
The burger Mr. Takaha will make is a level-N burger. Lunlun the Dachshund will eat X layers from the bottom of this burger (a layer is a patty or a bun). How many patties will she eat?
Constraints
- 1≤N≤50
- 1≤X≤( the total number of layers in a level-N burger )
- N and X are integers.
#include <iostream>
#include <algorithm> long long b[], h[], n, r, ans; void solve(int now)
{
if (r <= ) return;
if (!now) { --r, ++ans; return; }
if (r >= h[now]) { r -= h[now], ans += b[now]; return; }
--r; if (r > ) solve(now - );
if (r > ) ++ans, --r;
--r; if (r > ) solve(now - );
} int main()
{
scanf("%lld%lld", &n, &r);
h[] = , b[] = ;
for (int i = ; i <= ; ++i) h[i] = (h[i - ] << ) + , b[i] = + (b[i - ] << );
solve(n); std::cout << ans;
return ;
}
太简单辣。。。。。。。。