CSES - Datatähti 2021 alku - Results
Submission details
Task:Alitaulukot
Sender:Anniiiz
Submission time:2020-09-30 17:36:17 +0300
Language:C++ (C++11)
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:33:22: error: 'valitsePienin' was not declared in this scope
             pienin = valitsePienin(joku);
                      ^~~~~~~~~~~~~
input/code.cpp:37:22: error: 'valitseSuurin' was not declared in this scope
             suurin = valitseSuurin(joku);
                      ^~~~~~~~~~~~~
input/code.cpp:46:14: error: expected ';' before numeric constant
         s ++ 1;
              ^
input/code.cpp:57:10: error: expected '(' before 'joku'
       if joku.size() > 1 {
          ^~~~
input/code.cpp:70:7: error: 'else' without a previous 'if'
       else {
       ^~~~
input/code.cpp:73:11: error: expected ';' before numeric constant
       s ++1;
           ^
input/code.cpp: In function 'int valitsePienin(std::vector<int>)':
input/code.cpp:82:3: error: 'pienin' was not declared in this scope
   pienin = lista[0];
   ^~~~~~
input/code.cpp:83:8: error: 'i' was not declared in this scope
   for (i = 1; i < lista.size(); i++) {...

Code

using namespace std;
#include<iostream>
#include<vector>
#include <stdlib.h>
int main() {
int n, k;
cin >> n >> k;
vector<int> vektori;
int x;
while (cin >> x) {
vektori.push_back (x);
}
int s = 0;
int a = 0;
int maara = 0;
int pienin = vektori[0];
int suurin = vektori[0];
vector<int> joku = {vektori[0]};
while (s < n - 1) {
if (a != n - 1) {
if (abs(suurin - vektori[a + 1]) <= k && abs(pienin - vektori[a + 1]) <= k) {
a ++;
joku.push_back(vektori[a]);
suurin = max(suurin, vektori[a]);
pienin = min(pienin, vektori[a]);
}
else {
maara += joku.size();
if (joku.size() > 1) {
if (joku[0] == pienin) {
joku.erase(joku.begin());
pienin = valitsePienin(joku);
}
else if (joku[0] == suurin) {
joku.erase(joku.begin());
suurin = valitseSuurin(joku);
}
else {
joku.erase(joku.begin());
}
}
else {
joku.erase(joku.begin());
}
s ++ 1;
if (s > a) {
joku.push_back(vektori[s]);
pienin = vektori[s];
suurin = vektori[s];
a = s;
}
}
}
else {
maara += joku.size();
if joku.size() > 1 {
if (joku[0] == pienin) {
joku.erase(joku.begin());
pienin = valitsePienin(joku);
}
else if (joku[0] == suurin) {
joku.erase(joku.begin());
suurin = valitseSuurin(joku);
}
else {
joku.erase(joku.begin());
}
}
else {
joku.erase(joku.begin());
}
s ++1;
}
}
maara++;
cout << maara;
return 0;
}
int valitsePienin(vector<int> lista) {
pienin = lista[0];
for (i = 1; i < lista.size(); i++) {
pienin = min(pienin, lista[i]);
return pienin;
}
}
int valitseSuurin(vector<int> lista) {
suurin = lista[0];
for (i = 1; i < lista.size(); i++) {
suurin = max(suurin, lista[i]);
return suurin;
}
}