Codeforces_350A_TL(排序)

来源:互联网 发布:amarra 4 for mac 编辑:程序博客网 时间:2024/06/05 09:45

题型:简单题


题意:

(题目读了好久,却发现好水)

Valera想给一个题设置时间限制(Time Limit),他写了n个正确的程序和m个错误的程序,每个程序都有自已运行的时间,设时间限制为v,一个程序只有运行时间不超过v才能AC,在所有能够AC的程序中,有的程序可以以其本身2

倍运行时间通过(即题中的2a<=v),对于v,要满足一下要求:

1、v是一个正整数;

2、所有的正确程序都能通过;

3、至少有一个程序可以有一个额外的运行时间a;

4、所有的错误程序都不能通过;

5、v是所有满足的时间限制中最小的时间。

现给出这n个正确程序的运行时间和这m个错误程序的运行时间,求v,若不存在,则输出-1。


分析:

将最少运行时间的正确程序的时间乘以2,然后找出正确的程序运行时间中的最大值,然后跟错误程序中的最短运行时间进行比较,若小于错误程序中的最短运行时间,则将其输出,否则输出-1;


代码:

#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int main(){    int n,m;    int a[123],b[123];    while(~scanf("%d%d",&n,&m)){        for(int i=0;i<n;i++) scanf("%d",&a[i]);        for(int i=0;i<m;i++) scanf("%d",&b[i]);        sort(a,a+n);        sort(b,b+m);        int maxn = max(a[0]*2,a[n-1]);        if(maxn < b[0]) printf("%d\n",maxn);        else printf("-1\n");    }    return 0;}


原创粉丝点击