Google kickstart что это такое

Написал код на google kickstart, первую задачу, всё работает, но выдает ошибку runtime error.Как можно сократить код?

n=int(input()) q=0 b=[] for i in range(n): k,m=map(int,input().split()) a=list(map(int,input().split())) a=a[:k] while m>=0: m-=min(a) if m>=0: q+=1 a.remove(min(a)) b.append(q) q=0 for i in range(n): print(‘Case #’,i+1,’: ‘,b[i],sep=»)

Условие задачи: проблема Есть N домов на продажу. I-й дом стоит Ai долларов, чтобы купить. У вас есть бюджет B долларов, чтобы потратить.

Какое максимальное количество домов вы можете купить? вход В первой строке входных данных указано количество тестовых случаев, за которыми следуют тесты T. Каждый тестовый пример начинается с одной строки, содержащей два целых числа N и B. Вторая строка содержит N целых чисел. I-е целое число — это Ai, стоимость i-го дома. Выход Для каждого тестового примера выведите одну строку, содержащую Case #x: y, где x — номер тестового набора (начиная с 1), а y — максимальное количество домов, которое вы можете купить. *Могу скинуть оригинал на английском Пример:

4. Google Code Jam 2022


Input: 3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999 999 999 Output: Case #1: 2 Case #2: 3 Case #3: 0

Источник: ru.stackoverflow.com

У Google появился новый креативный способ убивать SaaS-стартапы

В старые времена, когда компания Google (или любой из её плохо настроенных ИИ) хотела убить ваш бизнес, то обычно отказывала вам в доступе к какому-то из своих сервисов, и это работало. Вы наверняка слышали страшилки:

  • Сайты исчезают из поиска Google и уходят в небытие
  • Видео на YouTube демонетизируется, и создатели теряют источник дохода
  • Android-приложения исчезают из каталога Google Play и не могут связаться со своими пользователями
  • API резко дорожают или просто устаревают
  • И последнее, но не менее важное, личный аналог всего вышеперечисленного: люди теряют доступ к аккаунтам Gmail и всей своей цифровой жизни

Клянусь, я прочитал FAQ!

Всё проходит по одному сценарию. Сначала бизнес сознательно использует сервисы Google таким образом, что его выживание полностью зависит от них. Затем автоматизированный бегемот Google делает своё дело: он слегка меняет положение своей задницы на кожаном кресле размером с планету и, сам того не замечая, крушит в процессе мириады (относительно) маленьких компаний размером с муравья. И, наконец, компании размером с муравья отчаянно пытаются сообщить Google, что они раздавлены, но могут пообщаться только с автоматизированной формой для предложений.

Иногда генеральный директор размером с муравья знает кого-то в Google, потому что они были приятелями по колледжу, или технический директор пишет пост, который каким-то образом попадает на первую страницу муравейника Hacker News. Тогда Google замечает проблему и иногда считает её достойной решения, обычно из-за страха регулятивных последствий, которые может повлечь за собой муравьиная революция.

Кикстартер: $500,000 на Kickstarter за 48 часов!

По этой причине общепринятая муравьиная мудрость диктует, что нельзя чрезмерно полагаться на сервисы Google. И если вам удастся избежать этой зависимости, всё должно быть в порядке.

Такая плоская синяя поверхность с классной красной крышей! Так удобно!

Что нового под Луной

В сегодняшней серии «Интернет уже не тот, что раньше» поговорим о новом способе, которым Google может непреднамеренно сокрушить ваш стартап. Он не требует от вас использования сервисов Google каким-либо (преднамеренным) способом.

Вы знали, что ваши домены могут попасть в чёрный список Google без каких-либо особых причин и что этот чёрный список использует не только Google Chrome, но и несколько других вендоров программного и аппаратного обеспечения? Вы знали, что эти другие вендоры синхронизируют список с дико изменяющимися таймингами и интерпретациями, так что решение любых проблем становится чрезвычайно напряжённым и непредсказуемым делом? При этом сроки рассмотрения жалоб на чёрный список в Google измеряются неделями?

Теперь так выглядит ваш сайт или SaaS-приложение

Эта «функция» чёрного списка называется Google Safe Browsing, и на изображении выше можете прочитать сообщение, которое видят посетители вашего сайта, если один из доменов попал в базу Safe Browsing. Тексты предупреждений варьируются от «Обманный сайт» до «Сайт содержит вредоносное ПО» (полный список здесь), но все они на одинаково страшном красном фоне, который пытается максимально помешать пользователю перейти на сайт.

В первый раз мы узнали о проблеме из-за всплеска жалоб от клиентов, которые натыкались на это красное предупреждение при попытке использовать наше SaaS-приложение. Во второй раз мы лучше подготовлены, поэтому у нас уже есть свободное время, чтобы написать этот пост.

Наша компания InvGate — это SaaS-платформа для IT-подразделений, работающая на AWS. Она обслуживает более 1000 корпоративных клиентов и миллионы конечных пользователей. Фирмы используют продукт для управления тикетами и запросами от своих пользователей. Можете представить реакцию IT-менеджеров, когда внезапно их система тикетов начинает показывать конечным пользователям такие зловещие предупреждения безопасности.

Когда мы впервые столкнулись с этой проблемой, то отчаянно пытались понять, что происходит, и разобраться, как работает Google Safe Browsing (GSB), в то время как техподдержка пыталась справиться с потоком запросов от клиентов. Мы быстро поняли, что в базу GSB попал URL на Amazon Cloudfront CDN, с которого мы раздавали статические ресурсы (CSS, Javascript и др.), и это привело к сбою всего приложения для клиентов, использующих именно данный CDN. Быстрый обзор помеченной системы показал, что всё выглядит нормально.

В то время как команда девопсов работала в авральном режиме, чтобы настроить новый CDN и подготовиться к перемещению клиентов на новый домен, я обнаружил в документации Google, что через Google Search Console (GSC) можно получить дополнительные объяснения о причинах, почему сайт помечен в базе. Не буду утомлять вас подробностями, но чтобы получить доступ к этой информации, вы должны доказать владение сайтом, для этого настроить кастомную запись DNS или загрузить некоторые файлы в корень домена. Мы сделали это — и через 20 минут получили отчёт о нашем сайте.

Отчёт выглядел примерно так:

Это… не особенно информативно

В отчёте также была кнопка «Запросить проверку» (Request Review), которую я быстро нажал, фактически не предпринимая никаких действий на сайте, поскольку там не было никакой информации о предполагаемой проблеме. Я подал заявку с пометкой, что у меня не указаны вредоносные URL, хотя в документации говорится, что Google всегда предоставляет примеры URL, чтобы помочь веб-мастерам в выявлении проблем.

Отлично! Запрос на проверку недействительного отчёта может привести к тому, что будущие проверки станут ещё медленнее

Примерно через час сайт был удалён из базы GSB, мы даже не закончили выводить клиентов с этого CDN. Примерно через два часа пришёл автоматический email с подтверждением, что проверка прошла успешно. Никаких разъяснений, что вызвало проблему.

Что было дальше

В течение недели после инцидента мы продолжали периодически получать от клиентов сообщения о проблемах с доступом.

Google Safe Browsing предоставляет два различных API для использования в коммерческих и некоммерческих продуктах. В нашем случае проблема воспроизводилась по крайней мере у некоторых пользователей Firefox, а также в некоторых антивирусах и сетевых устройствах безопасности. Они помечали наш сайт и блокировали доступ к нему много дней спустя.

Мы продолжали переводить всех клиентов со старого CDN на новый, и поэтому в конце концов решили проблему навсегда. Мы никогда так толком и не узнали причину и списали всё на какой-то обкуренный ИИ в штаб-квартире Google.

Как помешать Google Safe Browsing пометить ваш сайт

Если вы управляете SaaS-бизнесом и обещаете клиентам гарантированную доступность, то внесение в базу Google Safe Browsing без какой-либо конкретной причины представляет собой очень реальный риск для бизнеса.

К сожалению, учитывая чисто гугловскую непрозрачность механизма пометки и просмотра сайтов, вряд ли этого можно гарантированно избежать. Но вы, безусловно, можете спроектировать своё приложение и процессы таким образом, чтобы свести к минимуму вероятность этого, снизить влияние фактического внесения в чёрный список и свести к минимуму время, необходимое для решения проблемы.

Вот шаги, которые предпринимаем мы сами и которые я могу рекомендовать:

  • Не держите все яйца в одном домене. Видимо, GSB помечает целые домены или поддомены. Поэтому лучше распределить приложения по нескольким доменам, так как это уменьшит ущерб от потери любого из них. Например, company.сom для сайта, app.company.net для приложения, eucdn.company.nеt для клиентов в Европе, useastcdn.company.nеt для клиентов на восточном побережье США и т. д.
  • Не размещайте данные клиентов на основных доменах. Домены часто попадают в чёрный список из-за того, что клиенты SaaS по неведению загрузили на сервер вредоносные файлы. Эти файлы безвредны для систем, но само их существование может привести к тому, что весь домен будет занесён в чёрный список. Всё, что ваши пользователи загружают в приложения, должно размещаться за пределами основных доменов. Например, используйте companyusercontent.cоm для хранения клиентских файлов.
  • Активно заявляйте о своём праве собственности на домены в Google Search Console. Это не помешает сайту попасть в чёрный список, но вы получите электронное письмо, которое позволит быстро отреагировать на проблему. Реагирование на такие инциденты занимает некоторое время, и это драгоценное время, в течение которого страдают ваши клиенты.
  • Будьте готовы сменить домен, если нужно. Это самое сложное, что можно сделать, но это единственный эффективный инструмент против попадания в чёрный список: спроектируйте системы так, чтобы доменные имена сервисов можно было легко изменить (через скрипты или инструменты оркестровки). Например, пусть у eucdn.company2.net будет CNAME-запись eucdn.company.net, и если первый заблокирован, обновите конфигурацию приложения, чтобы загрузить ресурсы с альтернативного домена.

Что делать, если ваше SaaS-приложение или сайт занесены в чёрный список Google Safe Browsing

Вот что я бы порекомендовал:

  • Если можете легко и быстро переключить своё приложение на другой домен, это единственный способ надёжно, быстро и якобы окончательно решить инцидент. Если можете, сделайте так. На этом всё.
  • В противном случае, как только вы идентифицируете заблокированный домен, просмотрите отчёты в Google Search Console. Если вы до сих пор не заявили о владении доменом, придётся сделать это прямо сейчас, что займёт некоторое время.
  • Если сайт действительно взломан, устраните проблему (например, удалите оскорбительный контент или взломанные страницы), а затем запросите проверку безопасности. Если сайт не взломан или отчёт Safe Browsing бессмысленный, в любом случае запросите проверку безопасности и заявите, что отчёт является неполным.
  • Затем, вместо того чтобы метаться в агонии, представляя суммы ущерба за время ожидания, всё равно приступайте к переходу на новый домен. Проверка может занять несколько недель.

Вишенка на торте

Спустя несколько месяцев после первого инцидента, мы получили письмо от Search Console с сообщением, что один из наших доменов опять попал в чёрный список. Через несколько часов мне как администратору домена G Suite пришло ещё одно интересное письмо, которое вы можете прочитать ниже.

Позвольте объяснить своими словами, что это такое, потому что это просто умопомрачительно. Речь идёт о письме с предупреждением от Search Console о включении в чёрный список. В этом втором письме говорится, что автоматический фишинговый фильтр электронной почты G Suite считает поддельным это письмо от Google Search Console. Безусловно, это не так, поскольку наш домен действительно был занесён в чёрный список. Таким образом, Google даже не может решить, являются ли фишингом её собственные оповещения о фишинге. (LOL?)

Некоторые неприятные мысли о будущем интернета

Любому, кто работает в сфере технологий, совершенно ясно, что крупные техногиганты в значительной степени являются хранителями Интернета. Но раньше я интерпретировал это в свободном, метафорическом смысле. Описанный здесь инцидент с Safe Browsing очень ясно показал, что Google буквально контролирует, кто может получить доступ к вашему сайту, независимо от того, где и как вы им управляете. Поскольку Chrome занимает около 70% рынка, а Firefox и Safari в какой-то степени используют базу данных GSB, то Google может одним движением пальца сделать любой сайт практически недоступным в интернете.

  • Google
  • SaaS
  • стартап
  • черный список
  • Google Safe Browsing
  • Google Search Console
  • Администрирование доменных имен
  • Антивирусная защита
  • SaaS / S+S
  • Браузеры
  • Развитие стартапа

Источник: habr.com

РЕШЕНИЕ МОЕЙ ПЕРВОЙ ПРОБЛЕМЫ Google Kickstart

Не вижу MLE, это ошибка превышения лимита памяти, это то, что следует из названия, это как хранить 10 рубашек в чемодане после складывания, в то время как вы можете сохранить 20, если свернете их и сохраните, закатывание футболок здесь оптимизирует. Мой код не был оптимизирован, но, по крайней мере, я могу оставить 10 футболок, это лучше, чем ничего.

Затем я поговорил с ним после того, как началась изоляция, о том, что он планировал для людей в своей жизни, он самый добрый человек, которого я встречал в Интернете, и, вероятно, мой любимый, его мысли блестящи. Так почему я говорю о нем здесь, он сказал мне о кикстарте Google, я посмотрел, зарегистрировался на следующий день, я тот, кто не тратит время на размышления перед регистрацией, но как только я не успеваю, это путешествие по переулку вины.

То же самое произошло, я попробовал вопрос, все примеры тестовых случаев прошли, но результат все еще был неправильным, я просто сдался, потратив 2 часа или около того на эту проблему.

Я попробовал то же самое сегодня снова, взял первый вопрос из Google Kickstart Round C, я сделал свою первую заявку в течение 15 минут, все тестовые случаи прошли, но результат был WA (неправильный ответ), понял, что пошло не так, попробовал другой подход, прошел все тестовые случаи, но все равно WA. Затем спросил моего друга Аджита, который в основном провел меня через Python, он просто сказал, что наборы слов относятся к какому-то другому сценарию, и я получил другой метод, снова прошедший все тестовые примеры, кроме WA. Я был почти уверен в этом методе, я не мог придумать сценарий, в котором он потерпит неудачу, затем я понял, что, может быть, я печатаю неправильный формат вывода, я имею в виду, что, может быть, я печатал только 3 вместо Ответ 3.

Поменял формат и вуаля, тест кейсы пройдены, но MLE, угадайте, кого тут волнует лимит памяти? не я.

Я смог это сделать, это было само по себе ударом, я знаю, что это действительно мало, когда дело доходит до решения проблем, решение проблемы с кикстартом, это то же самое, что ходьба или бег для очень многих людей, но представьте, что ходьба для первого время. это даст вам чувство удовлетворения от того, что вы добились чего-то правильного. У меня то же самое, может быть, это небольшое достижение, но исходя из контекста моей жизни, я вполне доволен и готов практиковать больше задач.

Радость была чем-то вроде создания собственной первой HTML-страницы, вот и все, эти маленькие моменты высвобождают больше дофамина, чем серия убийств на наложенном платеже.

Это была очень простая задача для тех, кто дышит соревновательным программированием или много программировал.

Прочтите это в Блоггере, где я разместил сообщение о проблеме.

Источник: digitrain.ru

Рейтинг
Загрузка ...