赞
踩
著名出题人小Q每次比赛后都会写一份《赛题分析》,包含比赛概况、每题的参考算法以及一些统计数值。
对于一道题来说,小Q会统计最短的验题人代码长度(Shortest judge solution)以及赛内参赛队伍最短的AC代码长度(Shortest team solution)。
统计验题人代码长度比较容易,因为验题人最多也不会超过2020个。但是统计选手代码长度就不容易了,因为大赛区动辄三四百支队伍。
请写一个程序,帮助小Q统计最短代码长度。
Input
第一行包含一个正整数T(1≤T≤13)T(1≤T≤13),表示赛题数量。
每道题第一行包含两个整数n,m(2≤n≤20,0≤m≤500)n,m(2≤n≤20,0≤m≤500),分别表示验题人数量以及AC了该题的队伍数量。
第二行包含nn个正整数a1,a2,...,an(50≤ai≤65536)a1,a2,...,an(50≤ai≤65536),依次表示每个验题人的代码字节数。
第三行包含mm个正整数b1,b2,...,bn(50≤bi≤65536)b1,b2,...,bn(50≤bi≤65536),依次表示每支AC队伍的代码字节数。若m=0m=0则该行为空行。
Output
对于第i(1≤i≤T)i(1≤i≤T)道题,输出三行,第一行输出Problem xx:,其中x=i+1000x=i+1000。
第二行输出Shortest judge solution: yy bytes.,其中yy表示最短的验题人代码字节数。
第三行输出Shortest team solution: zz bytes.,其中zz表示最短的选手代码字节数,若不存在请输出N/A。
注意:间隔都是一个空格。
Sample Input
2 3 2 3627 1460 5288 2365 2671 2 0 5510 7682
Sample Output
Problem 1001: Shortest judge solution: 1460 bytes. Shortest team solution: 2365 bytes. Problem 1002: Shortest judge solution: 5510 bytes. Shortest team solution: N/A bytes.
- #include <iostream>
- #include <algorithm>
- #include <cmath>
- #include <stddef.h>
-
- using namespace std;
- const int N = 65536;
- long long int a[N+1],b[N+1];
-
- int main()
- {
- int T;
- scanf("%d",&T);
- for(int i=1; i<=T; i++){
- int n,m;
- scanf("%d %d",&n,&m);
- for(int j=0; j<n; j++){
- scanf("%lld",&a[j]);
- }
- sort(a,a+n);
- for(int k = 0; k < m; k++){
- scanf("%lld",&b[k]);
- }
- sort(b,b+m);
-
- printf("Problem %d:\n",i+1000);
- printf("Shortest judge solution: %lld bytes.\n",a[0]);
- if(m == 0){
- printf("Shortest team solution: N/A bytes.\n");
- }else{
- printf("Shortest team solution: %lld bytes.\n",b[0]);
- }
- }
- return 0;
- }
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。