Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Почему в задаче 313 на GCC в 10 тесте TLE, а на Visual C++ Accepted ? Код абсолютно одинаковый! Почему так?
1
  1  Гимадутдинов Рустем, 20 марта 2016 г. 10:09:43
      спасибо
  2  Хворых Павел, 16 марта 2016 г. 15:17:08
      У компилятора gcc в cstdio лежат медленные printf и scanf, для быстрых надо подключать stdio.h. Я сообщил об этом на форуме в одном из ваших топиков ( https://acmp.ru/asp/forum.asp?id_parent=94650 ), а чуть позднее администратор сообщил об этом на главной странице (новость от 14 января).
  3  Роман Ганский, 16 марта 2016 г. 3:21:46
      Дело вряд ли в cin и cout.

В задаче 82 у меня cin и cout используются ровно по 1 разу, в лупах везде scanf и printf. При этом на GNU время больше 1 с, а на VC++ 0,3 с. Интересный факт - на временном сервере http://w.acmp.ru/ то же решение вообще прошло на Java, не говоря уже про С++. Тут явно что-то не так. Код ниже, можете потестить.

#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <memory.h>
#include <queue>
#include <set>
#include <sstream>
#include <stack>

using namespace std;

int as[111111];

int main() {

freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);

int n, m;

cin >> n >> m;

int x;

for (int i = 0; i < n; ++i) {
scanf("%d", &x);
if (as[x] == 0) {
as[x] = 1;
}
}

for (int i = 0; i < m; ++i) {
scanf("%d", &x);
if (as[x] == 1) {
as[x] = 2;
}
}

for (int i = 0; i < 111111; ++i) {
if (as[i] == 2) {
printf("%d ", i);
}
}

return 0;
}
  4  Беляев Сергей Николаевич, 11 марта 2016 г. 8:30:40
      Потому что компиляторы разные, как Вы правильно уже заметили. В частности, скорость работы cin и cout в установленном на сайте GNU C++ значительно ниже, чем в VC++.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru