Submission #198173

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1981732020-01-25 02:29:13model_codeFire drill (LMIO18_sauga)C++14
98.74 / 100
512 ms5760 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 <cstdlib>
#include <cstdio>
#include <vector>
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:69:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < evakuojami_prasizengiant.size(); ++i)
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:72:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < evakuojami_pradzioje.size(); ++i)
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void PerziuretiLikusiusPastatus()':
sauga.cpp:82:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < like_pastatai.size(); )
                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void EvakuotiPastata(int, std::vector<int>&)':
sauga.cpp:99:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = 0; j < pastatai[i].ankstesni.size(); ++j) {
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:104:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = 0; j < pastatai[i].velesni.size(); ++j) {
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'int RastiSvarbiausiaPastata()':
sauga.cpp:143:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < like_pastatai.size(); ++i)
                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:150:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int t = 0; t < like_pastatai.size() * APEJIMU_KIEKIS; ++t) {
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void PaliktiMaziausiaiTrukdanti()':
sauga.cpp:167:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < like_pastatai.size(); ++i) {
                     ~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:176:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int j = 0; j < pastatai[maziausiai_ankstesniu].ankstesni.size(); ++j)
                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:181:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int j = 0; j < pastatai[maziausiai_velesniu].velesni.size(); ++j)
                         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp: In function 'void Nuskaityti()':
sauga.cpp:52:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%*d%d%d", &N, &riba); // Testo numeris šiam sprendimui nesvarbus.
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:56:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &pastatai[i].n_ankstesni);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sauga.cpp:59:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", &k);
             ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...