Submission details
Task:Taulukko
Sender:removed859
Submission time:2018-10-04 01:24:14 +0300
Language:C++
Status:SKIPPED

Code

#include <iostream>
#include <vector>
#include <set>

int main() {
  unsigned n, k;
  std::vector<unsigned> v;
  std::cin >> n >> k;

  unsigned z;
  for (unsigned i = 0; i < n; ++i) {
    std::cin >> z;
    v.push_back(z);
  }
  unsigned a = n;
  for (unsigned i = 1; i < k; ++i) {
    a += n - i;
  }

  std::set<unsigned> m;
  for (unsigned q = k; q <= n - k; q++) {
    m.clear();
    auto r = v.begin();
    auto s = v.begin() + q;

    while (s < v.end()) {
      for (auto i = r; i <= s; ++i) {
        if (m.size() <= k) {
          m.insert(*i);
        }
        else {
          break;
        }
        if (i == s) ++a;
      }
      ++r;
      ++s;
    }
  }

  std::cout << a;
  std::cin >> k;
  return 0;
}