Submission #455145

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4551452021-08-05 13:56:15KiprasFire drill (LMIO18_sauga)C++14
98.74 / 100
431 ms7620 KiB
// Oficialus uždavinio 'sauga-vyr' (2018 m. LMIO finalinis etapas) sprendimas.
//
// Šis algoritmas buvo naudojamas generuojant atsakymus testams.
// Dėl to, kad skirtingose sistemose pseudoatsitiktiniai skaičiai gali būti
// generuojami šiek tiek kitaip, rezultatai gali truputį skirtis (kai kurie
// testai gali būti išsprendžiami šiek tiek geriau, kiti - šiek tiek blogiau).
// Norint surinkti visus taškus, gali reikti išbandyti keletą atsitiktinių
// pasėlių.
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1000;
const int APEJIMU_KIEKIS = 50; // Kuo didesnis, tuo programa lėtesnė, bet tikslesnė.
const int PASELIS = 20180324; // Pseudoatsitiktinių skaičių generavimui.
struct Pastatas {
vector<int> ankstesni;
// Sąrašas pastatų, kuriuos reikia evakuoti anksčiau. Užpildomas nuskaitant
// duomenis ir daugiau nebeatnaujinamas.
vector<int> velesni;
// Sąrašas pastatų, kuriuos reikia evakuoti vėliau. Užpildomas nuskaitant
// duomenis ir daugiau nebeatnaujinamas.
int n_ankstesni, n_velesni;
// Vykstant evakuacijai šie kintamieji bus atnaujinami. Jie nurodo, kiek dar
// liko pastatų, kuriuos reikia evakuoti anskčiau/vėliau.
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

sauga.cpp: In function 'void Spausdinti()':
sauga.cpp:68:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |     for (int i = 0; i < evakuojami_prasizengiant.size(); ++i)
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:71:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |     for (int i = 0; i < evakuojami_pradzioje.size(); ++i)
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void PerziuretiLikusiusPastatus()':
sauga.cpp:81:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |     for (int i = 0; i < like_pastatai.size(); )
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void EvakuotiPastata(int, std::vector<int>&)':
sauga.cpp:98:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |     for (int j = 0; j < pastatai[i].ankstesni.size(); ++j) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:103:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  103 |     for (int j = 0; j < pastatai[i].velesni.size(); ++j) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'int RastiSvarbiausiaPastata()':
sauga.cpp:142:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  142 |     for (int i = 0; i < like_pastatai.size(); ++i)
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:149:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  149 |     for (int t = 0; t < like_pastatai.size() * APEJIMU_KIEKIS; ++t) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void PaliktiMaziausiaiTrukdanti()':
sauga.cpp:166:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  166 |     for (int i = 0; i < like_pastatai.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:175:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  175 |         for (int j = 0; j < pastatai[maziausiai_ankstesniu].ankstesni.size(); ++j)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:180:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  180 |         for (int j = 0; j < pastatai[maziausiai_velesniu].velesni.size(); ++j)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void Nuskaityti()':
sauga.cpp:51:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   51 |     scanf("%*d%d%d", &N, &riba); // Testo numeris šiam sprendimui nesvarbus.
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:55:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |         scanf("%d", &pastatai[i].n_ankstesni);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:58:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |             scanf("%d", &k);
      |             ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...