Tên đăng nhập Điểm ▾ Bài tập Giới thiệu
21801 535 6
21801 535 6
21801 535 6
21801
ldankchu
Kim Châu Linh Đan
535 6

abc

21801 535 6
21801 535 6
21801 535 6
21801
pahmquochung_lop10ly_LVT
phamquochung_lop10ly_LVT
535 6

...........

21801 535 6
21801
29214849826
Võ Trung Hậu
535 6
21801
ndl27022008
nguyenduclong_10hoa_LVT
535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801
TargetPro
Đặng Xuân Đích
535 6
21801 535 6

ssss

21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801
P1B1_07
SB_robloxQuan
535 6

plz sub to premiumsalad, thx

21801
P2O1_15
Nho GV sua lai
535 6
21801 535 6
21801 535 6
21801
P1D1_01
Phi Diệp Anh
535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6

Try to reach the highest performance

21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21801 535 6
21846
nhan1813
nguyễn ngọc thiện nhân
535 5
21847 534 4
21848 533 1
21849 533 1
21849 533 1
21851 533 3
21852 533 5
21853 532 3
21854 532 5

21854 532 5
21856 531 8
21857 530 3
21858 530 3
21859 530 3
21860 529 2
21861 529 1
21862 528 3
21862 528 3
21864 528 8
21865 527 3
21865 527 3
21867 527 2
21868 527 6
21868
huybui2606
BÙI NGUYỄN HUY
527 6
21868 527 6
21871 526 5
21872 526 3
21873 526 4
21874 526 6
21875 525 4
21876 524 5
21877 523 6
21878 522 4

hehehehe

21879 522 4
21880 522 3
21880 522 3
21880 522 3

trùm

21883 522 14
21884 521 4
21885 520 2
21886 520 1
21886 520 1
21886 520 1

Hehe

21886 520 1
21890 520 3

include <iostream>

include <fstream>

include <vector>

include <unordered_map>

include <algorithm>

using namespace std;

// Hàm đọc dữ liệu từ file
void read_input(const string &filename, vector<string> &strings, int &n, int &k) {
ifstream infile(filename);
infile >> n >> k;
strings.resize(n);
for (int i = 0; i < n; ++i) {
infile >> strings[i];
}
infile.close();
}

// Hàm ghi kết quả ra file
void write_output(const string &filename, int result) {
ofstream outfile(filename);
outfile << result << endl;
outfile.close();
}

// Hàm đếm số cặp tương thích
int count_compatible_pairs(const vector<string> &strings, int k) {
unordered_map<int, vector\<int>> length_groups;

// Nhóm xâu theo độ dài
for (int i = 0; i < strings.size(); ++i) {
    length_groups[strings[i].length()].push_back(i);
}

int total_pairs = 0;

// Xử lý từng nhóm xâu theo độ dài
for (const auto &entry : length_groups) {
    const vector<int> &indices = entry.second;
    int count = indices.size();

    // Đếm số cặp tương thích
    for (int i = 0; i < count; ++i) {
        for (int j = i + 1; j < count && indices[j] - indices[i] <= k; ++j) {
            ++total_pairs;
        }
    }
}

return total_pairs;

}

int main() {
int n, k;
vector<string> strings;

// Đọc dữ liệu đầu vào
read_input("SEQSTR.INP", strings, n, k);

// Tính số cặp tương thích
int result = count_compatible_pairs(strings, k);

// Ghi kết quả ra file
write_output("SEQSTR.OUT", result);

return 0;

}

21891 519 5
21892
quetran_Ngroup
Trương Quế Trân
519 6
21892
tk21thanhnh
Nguyễn Hải Thành
519 6
21894 519 3
21895 518 2
21896 518 2
21897 517 2
21898
nguyenquangchien
LapTrinhThiDau
515 6
21899 515 6
21900 514 5