A - Remaining Time


Time limit : 2sec / Memory limit : 256MB

Score : 100 points

Problem Statement

Dolphin loves programming contests. Today, he will take part in a contest in AtCoder.
In this country, 24-hour clock is used. For example, 9:00 p.m. is referred to as "21 o'clock".
The current time is A o'clock, and a contest will begin in exactly B hours. When will the contest begin? Answer in 24-hour time.

Constraints

  • 0≤A,B≤23
  • A and B are integers.

Input

The input is given from Standard Input in the following format:

A B

Output

Print the hour of the starting time of the contest in 24-hour time.


Sample Input 1

Copy
9 12

Sample Output 1

Copy
21

In this input, the current time is 9 o'clock, and 12 hours later it will be 21 o'clock in 24-hour time.


Sample Input 2

Copy
19 0

Sample Output 2

Copy
19

The contest has just started.


Sample Input 3

Copy
23 2

Sample Output 3

Copy
1

The contest will begin at 1 o'clock the next day.

题意:没啥好说的

解法:也没啥好说的

 #include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
cout<<(n+m)%<<endl;
return ;
}

B - Checkpoints


Time limit : 2sec / Memory limit : 256MB

Score : 200 points

Problem Statement

There are N students and M checkpoints on the xy-plane.
The coordinates of the i-th student (1≤iN) is (ai,bi), and the coordinates of the checkpoint numbered j (1≤jM) is (cj,dj).
When the teacher gives a signal, each student has to go to the nearest checkpoint measured inManhattan distance
The Manhattan distance between two points (x1,y1) and (x2,y2) is |x1x2|+|y1y2|.
Here, |x| denotes the absolute value of x.
If there are multiple nearest checkpoints for a student, he/she will select the checkpoint with the smallest index.
Which checkpoint will each student go to?

Constraints

  • 1≤N,M≤50
  • −108≤ai,bi,cj,dj≤108
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

N M
a1 b1
:
aN bN
c1 d1
:
cM dM

Output

Print N lines.
The i-th line (1≤iN) should contain the index of the checkpoint for the i-th student to go.


Sample Input 1

Copy
2 2
2 0
0 0
-1 0
1 0

Sample Output 1

Copy
2
1

The Manhattan distance between the first student and each checkpoint is:

  • For checkpoint 1|2−(−1)|+|0−0|=3
  • For checkpoint 2|2−1|+|0−0|=1

The nearest checkpoint is checkpoint 2. Thus, the first line in the output should contain 2.

The Manhattan distance between the second student and each checkpoint is:

  • For checkpoint 1|0−(−1)|+|0−0|=1
  • For checkpoint 2|0−1|+|0−0|=1

When there are multiple nearest checkpoints, the student will go to the checkpoint with the smallest index. Thus, the second line in the output should contain 1.


Sample Input 2

Copy
3 4
10 10
-10 -10
3 3
1 2
2 3
3 5
3 5

Sample Output 2

Copy
3
1
2

There can be multiple checkpoints at the same coordinates.


Sample Input 3

Copy
5 5
-100000000 -100000000
-100000000 100000000
100000000 -100000000
100000000 100000000
0 0
0 0
100000000 100000000
100000000 -100000000
-100000000 100000000
-100000000 -100000000

Sample Output 3

Copy
5
4
3
2
1
题意:问最短的集合点是哪个站?如果有多个最短则输出序号最小的
解法:模拟
 #include<bits/stdc++.h>
using namespace std;
int n,m;
set<int>q;
int dis(int x1,int y1,int x2,int y2)
{
return abs(x1-x2)+abs(y1-y2);
}
int a1[],b1[],a2[],b2[];
int main()
{
cin>>n>>m;
for(int i=;i<=n;i++)
{
cin>>a1[i]>>b1[i];
}
for(int i=;i<=m;i++)
{
cin>>a2[i]>>b2[i];
}
for(int i=;i<=n;i++)
{
int pos;
int Max=(<<)-;
for(int j=;j<=m;j++)
{
int ans=dis(a1[i],b1[i],a2[j],b2[j]);
//cout<<ans<<endl;
if(ans<Max)
{
pos=j;
// cout<<pos<<endl;
Max=ans;
}
}
cout<<pos<<endl;
}
return ;
}

C - Digits in Multiplication


Time limit : 2sec / Memory limit : 256MB

Score : 300 points

Problem Statement

You are given an integer N.
For two positive integers A and B, we will define F(A,B) as the larger of the following: the number of digits in the decimal notation of A, and the number of digits in the decimal notation of B.
For example, F(3,11)=2 since 3 has one digit and 11 has two digits.
Find the minimum value of F(A,B) as (A,B) ranges over all pairs of positive integers such thatN=A×B.

Constraints

  • 1≤N≤1010
  • N is an integer.

Input

The input is given from Standard Input in the following format:

N

Output

Print the minimum value of F(A,B) as (A,B) ranges over all pairs of positive integers such thatN=A×B.


Sample Input 1

Copy
10000

Sample Output 1

Copy
3

F(A,B) has a minimum value of 3 at (A,B)=(100,100).


Sample Input 2

Copy
1000003

Sample Output 2

Copy
7

There are two pairs (A,B) that satisfy the condition: (1,1000003) and (1000003,1). For these pairs, F(1,1000003)=F(1000003,1)=7.


Sample Input 3

Copy
9876543210

Sample Output 3

Copy
6
题意:把N分解成a*b,求出a,b中最长的长度,然后所有最长的长度中取最小的
解法:模拟
 #include<bits/stdc++.h>
using namespace std;
int n,m;
long long num;
int Max;
int Maxn=;
int main()
{
cin>>num;
for(int i=sqrt(num);i>=;i--)
{
if(num%i==)
{
int ans1=;
int ans2=;
int x=num/i;
int y=i;
while(x)
{
x/=;
ans1++;
}
while(y)
{
y/=;
ans2++;
}
Max=max(ans1,ans2);
Maxn=min(Max,Maxn);
}
}
cout<<Maxn<<endl;
return ;
}

D - Maximum Average Sets


Time limit : 2sec / Memory limit : 256MB

Score : 400 points

Problem Statement

You are given N items.
The value of the i-th item (1≤iN) is vi.
Your have to select at least A and at most B of these items.
Under this condition, find the maximum possible arithmetic mean of the values of selected items.
Additionally, find the number of ways to select items so that the mean of the values of selected items is maximized.

Constraints

  • 1≤N≤50
  • 1≤A,BN
  • 1≤vi≤1015
  • Each vi is an integer.

Input

The input is given from Standard Input in the following format:

N A B
v1
v2
...
vN

Output

Print two lines.
The first line should contain the maximum possible arithmetic mean of the values of selected items. The output should be considered correct if the absolute or relative error is at most 10−6.
The second line should contain the number of ways to select items so that the mean of the values of selected items is maximized.


Sample Input 1

Copy
5 2 2
1 2 3 4 5

Sample Output 1

Copy
4.500000
1

The mean of the values of selected items will be maximized when selecting the fourth and fifth items. Hence, the first line of the output should contain 4.5.
There is no other way to select items so that the mean of the values will be 4.5, and thus the second line of the output should contain 1.


Sample Input 2

Copy
4 2 3
10 20 10 10

Sample Output 2

Copy
15.000000
3

There can be multiple ways to select items so that the mean of the values will be maximized.


Sample Input 3

Copy
5 1 5
1000000000000000 999999999999999 999999999999998 999999999999997 999999999999996

Sample Output 3

Copy
1000000000000000.000000
1

题意:求最大的平均值,再求出选a到选b个有几种选法可以得到最大平均值

解法:dp[i][j] 从i中选取了j个的和,sum[i][j] 从i中选取j个有多少种

 #include <bits/stdc++.h>
using namespace std;
long long dp[][],sum[][];
long long a[];
long long n,l,r;
int main()
{
for(int i=;i<=;i++)
{
sum[][i]=;
sum[i][]=;
sum[i][i]=;
}
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
dp[i][j]=-;
}
}
dp[][]=;
cin>>n>>l>>r;
for(int i=;i<=n;i++)
{
cin>>a[i];
}
for(int i=;i<=n;i++)
{
dp[i][]=;
for(int j=;j<=i&&j<=r;j++)
{
long long x=dp[i-][j];
long long y=dp[i-][j-]+a[i];
if(x==y)
{
dp[i][j]=x;
sum[i][j]=sum[i-][j]+sum[i-][j-];
}
else if(x>y)
{
dp[i][j]=x;
sum[i][j]=sum[i-][j];
}
else
{
dp[i][j]=y;
sum[i][j]=sum[i-][j-];
}
}
}
int pos=;
long long k=;
for(int i=l;i<=r&&i<=n;i++)
{
if(pos==)
{
pos=i;
k=sum[n][i];
}
else if(dp[n][i]*pos>dp[n][pos]*i)
{
pos=i;
k=sum[n][i];
}
else if(dp[n][i]*pos==dp[n][pos]*i)
{
k+=sum[n][i];
}
}
printf("%.6f\n",dp[n][pos]*1.0/pos*1.0);
cout<<k<<endl;
return ;
}

AtCoder Beginner Contest 057 ABCD题的更多相关文章

  1. AtCoder Beginner Contest 068 ABCD题

    A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contes ...

  2. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  3. AtCoder Beginner Contest 069 ABCD题

    题目链接:http://abc069.contest.atcoder.jp/assignments A - K-City Time limit : 2sec / Memory limit : 256M ...

  4. AtCoder Beginner Contest 070 ABCD题

    题目链接:http://abc070.contest.atcoder.jp/assignments A - Palindromic Number Time limit : 2sec / Memory ...

  5. AtCoder Beginner Contest 051 ABCD题

    A - Haiku Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement As a New Yea ...

  6. AtCoder Beginner Contest 052 ABCD题

    A - Two Rectangles Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement The ...

  7. AtCoder Beginner Contest 054 ABCD题

    A - One Card Poker Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Ali ...

  8. AtCoder Beginner Contest 058 ABCD题

    A - ι⊥l Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Three poles st ...

  9. AtCoder Beginner Contest 050 ABC题

    A - Addition and Subtraction Easy Time limit : 2sec / Memory limit : 256MB Score : 100 points Proble ...

随机推荐

  1. Python调用C/Fortran混合的动态链接库--中篇

    接下来,介绍一个简单的例子,从fortran中传递并返回一维自定义结构体数组到python注意点:1.fortran新标准支持可分配数组作为变量传入并在subroutine或function分配后返回 ...

  2. grunt简单教程

    Grunt简单教程 1.grunt简单介绍 Grunt是一个基于任务的命令行工具.依赖于node.js环境. 它能帮你合并js文件,压缩js文件,验证js.编译less,合并css.还能够配置自己主动 ...

  3. HDU 6040 Hints of sd0061 nth_element函数

    Hints of sd0061 Problem Description sd0061, the legend of Beihang University ACM-ICPC Team, retired ...

  4. List 调用 remove 方法时抛出 java.lang.UnsupportedOperationException 异常原因

    原因 使用 Arrays.asList(arr) 转换的 List 并不能进行 add 和 remove 操作.       Arrays.asList(arr) 返回的类型是 Aarrays$Arr ...

  5. [TJOI2017] 不勤劳的图书管理员

    题目描述 加里敦大学有个帝国图书馆,小豆是图书馆阅览室的一个书籍管理员.他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让小豆产生这两本书页数的和的厌烦度.现在有n本被打乱顺序的书, ...

  6. js中的连等==和全等===

    ===是没有强制类型转换的,和其他大部分语言的==是一样的.而js中==是有类型转换的. 比如说"true"==true就是错的,Boolean("false" ...

  7. QT实现FTP服务器(二)

    QClientThread类的实现: #include "QClientThread.h" #include <QDebug> /******************* ...

  8. UISegmentedControl方法与属性的总结

    SegmentedControl又被称作分段控制器,是IOS开发中经常用到的一个UI控件. 初始化方法:传入的数组可以是字符串也可以是UIImage对象的图片数组 - (instancetype)in ...

  9. POJ3436 ACM Computer Factory —— 最大流

    题目链接:https://vjudge.net/problem/POJ-3436 ACM Computer Factory Time Limit: 1000MS   Memory Limit: 655 ...

  10. Android ViewDragHelper及移动处理总结

    概述 2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用.我们知道在我们实际的开发中往往会涉及到很多的拖动效 ...