ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1021. Таинство суммы

Why I have got crush?
Послано Liceum#64_Yurik 5 дек 2007 21:13
Why I have got crush?
#include<stdio.h>
int main ()
{
    int n1, n2, i;
    int temp;
    bool flag=false;
    bool a[35000];
    for (i=0; i<35000; i++)
        a[i]=false;
    scanf ("%i", &n1);
    for (i=0; i<n1; i++)
    {
        scanf ("%i", &temp);
        if (temp<0) temp=-temp;
        a[temp]=true;
    }
    scanf ("%i", &n2);
    for (i=0; i<n2; i++)
    {
        fscanf (f, "%i", &temp);
        if (a[10000-temp]==true) flag=true;
        if (flag == true) break;
    }
    if (flag == true) printf("YES");
    else
    printf("NO");
    return 0;
}
Re: Why I have got crush?
Послано Madhav 13 июн 2008 02:11
what you do is that take an bool array of length 65000.
and for every number you take as input add 33,000 or something(some offset) to make every number >=0 and then do the same thing as u did now but in this case u search for
10000+offset