4iter 4 4iter Регистрация 30 Янв 2013 Сообщения 73 Репутация -7 Спасибо 0 Монет 0 9 Май 2024 #1 Мое решение не проходит по времени, я думаю что он неэффективно перебирает m, подскажите как можно оптимизировать код. Братство это рядом стоящие элементы если что. #include using namespace std; #define int int64_t signed main() { ios::sync_with_stdio(0); cin.tie(0); int t; cin >> t; while (t--) { int n; cin >> n; vector vec; for (int i = 0; i < n; ++i) cin >> vec; int ans = 0; int m = -1; for (int h = 0; h < n; ++h) { if (vec[h] > m) m = vec[h]; } for (int i = 0; i < n; ++i) { for (int s = 2; s ans) ans = anss; } } cout
Мое решение не проходит по времени, я думаю что он неэффективно перебирает m, подскажите как можно оптимизировать код. Братство это рядом стоящие элементы если что. #include using namespace std; #define int int64_t signed main() { ios::sync_with_stdio(0); cin.tie(0); int t; cin >> t; while (t--) { int n; cin >> n; vector vec; for (int i = 0; i < n; ++i) cin >> vec; int ans = 0; int m = -1; for (int h = 0; h < n; ++h) { if (vec[h] > m) m = vec[h]; } for (int i = 0; i < n; ++i) { for (int s = 2; s ans) ans = anss; } } cout
витек В витек Регистрация 8 Авг 2013 Сообщения 83 Репутация 30 Спасибо 0 Монет 0 9 Май 2024 #2 int t; cin >> t; while (t--) { int n; cin >> n; vector<int> vec; for (int i = 0; i < n; ++i) cin >> vec; int ans = 0; int m = -1; for (int h = 0; h < n; ++h) { if (vec[h] > m) m = vec[h]; } for (int i = 0; i < n; ++i) { for (int s = 2; s <= m; ++s) { int l = vec % s; int anss = 1; for (int h = i + 1; h < n; ++h) { if (vec[h] % s == l) anss++; else break; } if (anss > ans) ans = anss; } } cout << ans << "\n"; } return 0;
int t; cin >> t; while (t--) { int n; cin >> n; vector<int> vec; for (int i = 0; i < n; ++i) cin >> vec; int ans = 0; int m = -1; for (int h = 0; h < n; ++h) { if (vec[h] > m) m = vec[h]; } for (int i = 0; i < n; ++i) { for (int s = 2; s <= m; ++s) { int l = vec % s; int anss = 1; for (int h = i + 1; h < n; ++h) { if (vec[h] % s == l) anss++; else break; } if (anss > ans) ans = anss; } } cout << ans << "\n"; } return 0;
Loner L Loner Регистрация 27 Сен 2013 Сообщения 96 Репутация 0 Спасибо 0 Монет 0 9 Май 2024 #3 это означает что твоя программа работает не долго, а бесконечно, то есть неверно
OoGreshnikoO O OoGreshnikoO Регистрация 18 Ноя 2013 Сообщения 82 Репутация 0 Спасибо 0 Монет 0 9 Май 2024 #5 Оптимизируем. Быстро. Чётко. Эффективно. 100 рублей в год и начнем работать