POJ 2549(中间相遇)

来源:互联网 发布:spss怎样筛选数据 编辑:程序博客网 时间:2024/05/21 16:21
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int INF = 0x3f3f3f3f;int a[1005];int n;int main(){    while (scanf("%d",&n),n)    {        memset(a, -INF, sizeof(a));        for (int i = 1; i <= n; i++)        {            scanf("%d", &a[i]);        }        int flag =0;        sort(a + 1, a + n+1);            for (int i = n; i >= 1; i--)            {                for (int j= n; j >= 1; j--)                {                    if (i == j)                        continue;                    long long temp = a[i] - a[j];                    int left = 1;                    int right =j  - 1;                        while (left < right)                        {                            if (temp > a[left] + a[right])                            {                                left++;                            }                            else if (temp <a[left] + a[right])                            {                                right--;                            }                            else                            {                                printf("%d\n", a[i]);                                flag = 1;                                goto loop;                            }                        }                }            }       loop:if (!flag)            {                flag = 1;                printf("no solution\n");            }    }    return 0;}/*int main() {    int start = clock();    freopen("in.txt", "r", stdin);    //freopen("out.txt","w",stdout);    printf("#===================#\n");    vs_main();    printf("#===================#\n");    printf("Time:%.3lf\n", double(clock() - start) / CLOCKS_PER_SEC);    //system("pause");    return 0;}*/
0 0