<?xml version="1.0" encoding="utf-8" standalone="no"?>
<problem revision="15" short-name="limited-swaps" url="https://polygon.codeforces.com/p70sm5q/tourist/limited-swaps">
    <names>
        <name language="english" value="Limited Swaps"/>
        <name language="russian" value="Limited Swaps"/>
    </names>
    <statements>
        <statement charset="UTF-8" language="english" mathjax="true" path="statements/english/problem.tex" type="application/x-tex"/>
        <statement charset="UTF-8" language="russian" mathjax="true" path="statements/russian/problem.tex" type="application/x-tex"/>
        <statement charset="UTF-8" language="english" mathjax="true" path="statements/.html/english/problem.html" type="text/html"/>
        <statement charset="UTF-8" language="russian" mathjax="true" path="statements/.html/russian/problem.html" type="text/html"/>
        <statement language="english" path="statements/.pdf/english/problem.pdf" type="application/pdf"/>
        <statement language="russian" path="statements/.pdf/russian/problem.pdf" type="application/pdf"/>
    </statements>
    <tutorials>
        <tutorial charset="UTF-8" language="english" mathjax="true" path="statements/english/tutorial.tex" type="application/x-tex"/>
        <tutorial language="english" path="statements/.pdf/english/tutorial.pdf" type="application/pdf"/>
    </tutorials>
    <judging cpu-name="Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz" cpu-speed="3600" input-file="" output-file="" run-count="1">
        <testset name="tests">
            <time-limit>2000</time-limit>
            <memory-limit>536870912</memory-limit>
            <test-count>85</test-count>
            <input-path-pattern>tests/%02d</input-path-pattern>
            <answer-path-pattern>tests/%02d.a</answer-path-pattern>
            <tests>
                <test method="manual" sample="true"/>
                <test method="manual" sample="true"/>
                <test cmd="twoRandomPerms 1" method="generated"/>
                <test cmd="twoRandomPerms 2" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 2 10000" method="generated"/>
                <test cmd="twoRandomPerms 3" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 3 10000" method="generated"/>
                <test cmd="twoRandomPerms 4" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 4 10000" method="generated"/>
                <test cmd="twoRandomPerms 5" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 5 10000" method="generated"/>
                <test cmd="twoRandomPerms 6" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 6 10000" method="generated"/>
                <test cmd="twoRandomPerms 7" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 7 10000" method="generated"/>
                <test cmd="twoRandomPerms 8" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 8 10000" method="generated"/>
                <test cmd="twoRandomPerms 9" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 9 10000" method="generated"/>
                <test cmd="twoRandomPerms 10" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 10 10000" method="generated"/>
                <test cmd="twoRandomPerms 20" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 20 10000" method="generated"/>
                <test cmd="twoRandomPerms 30" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 30 10000" method="generated"/>
                <test cmd="twoRandomPerms 40" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 40 10000" method="generated"/>
                <test cmd="twoRandomPerms 50" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 50 10000" method="generated"/>
                <test cmd="twoRandomPerms 60" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 60 10000" method="generated"/>
                <test cmd="twoRandomPerms 70" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 70 10000" method="generated"/>
                <test cmd="twoRandomPerms 80" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 80 10000" method="generated"/>
                <test cmd="twoRandomPerms 90" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 90 10000" method="generated"/>
                <test cmd="twoRandomPerms 98" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 98 20000" method="generated"/>
                <test cmd="farFromRandomStart 98" method="generated"/>
                <test cmd="closeFromRandomStart 98" method="generated"/>
                <test cmd="twoRandomPerms 99" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 99 20000" method="generated"/>
                <test cmd="farFromRandomStart 99" method="generated"/>
                <test cmd="closeFromRandomStart 99" method="generated"/>
                <test cmd="twoRandomPerms 100 1" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 1" method="generated"/>
                <test cmd="farFromRandomStart 100 1" method="generated"/>
                <test cmd="closeFromRandomStart 100 1" method="generated"/>
                <test cmd="twoRandomPerms 100 2" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 2" method="generated"/>
                <test cmd="farFromRandomStart 100 2" method="generated"/>
                <test cmd="closeFromRandomStart 100 2" method="generated"/>
                <test cmd="twoRandomPerms 100 3" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 3" method="generated"/>
                <test cmd="farFromRandomStart 100 3" method="generated"/>
                <test cmd="closeFromRandomStart 100 3" method="generated"/>
                <test cmd="twoRandomPerms 100 4" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 4" method="generated"/>
                <test cmd="farFromRandomStart 100 4" method="generated"/>
                <test cmd="closeFromRandomStart 100 4" method="generated"/>
                <test cmd="twoRandomPerms 100 5" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 5" method="generated"/>
                <test cmd="farFromRandomStart 100 5" method="generated"/>
                <test cmd="closeFromRandomStart 100 5" method="generated"/>
                <test cmd="twoRandomPerms 100 6" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 6" method="generated"/>
                <test cmd="farFromRandomStart 100 6" method="generated"/>
                <test cmd="closeFromRandomStart 100 6" method="generated"/>
                <test cmd="twoRandomPerms 100 7" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 7" method="generated"/>
                <test cmd="farFromRandomStart 100 7" method="generated"/>
                <test cmd="closeFromRandomStart 100 7" method="generated"/>
                <test cmd="twoRandomPerms 100 8" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 8" method="generated"/>
                <test cmd="farFromRandomStart 100 8" method="generated"/>
                <test cmd="closeFromRandomStart 100 8" method="generated"/>
                <test cmd="twoRandomPerms 100 9" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 9" method="generated"/>
                <test cmd="farFromRandomStart 100 9" method="generated"/>
                <test cmd="closeFromRandomStart 100 9" method="generated"/>
                <test cmd="twoRandomPerms 100 10" method="generated"/>
                <test cmd="randomSwapsFromRandomStart 100 20000 10" method="generated"/>
                <test cmd="farFromRandomStart 100 10" method="generated"/>
                <test cmd="closeFromRandomStart 100 10" method="generated"/>
            </tests>
        </testset>
    </judging>
    <files>
        <resources>
            <file path="files/olymp.sty"/>
            <file path="files/problem.tex"/>
            <file path="files/statements.ftl"/>
            <file path="files/testlib.h" type="h.g++"/>
            <file path="files/tutorial.tex"/>
        </resources>
        <executables>
            <executable>
                <source path="files/checker.cpp" type="cpp.g++17"/>
                <binary path="files/checker.exe" type="exe.win32"/>
            </executable>
            <executable>
                <source path="files/closeFromRandomStart.kt" type="kotlin"/>
                <binary path="files/closeFromRandomStart.jar" type="jar"/>
            </executable>
            <executable>
                <source path="files/farFromRandomStart.kt" type="kotlin"/>
                <binary path="files/farFromRandomStart.jar" type="jar"/>
            </executable>
            <executable>
                <source path="files/randomSwapsFromRandomStart.kt" type="kotlin"/>
                <binary path="files/randomSwapsFromRandomStart.jar" type="jar"/>
            </executable>
            <executable>
                <source path="files/twoRandomPerms.kt" type="kotlin"/>
                <binary path="files/twoRandomPerms.jar" type="jar"/>
            </executable>
            <executable>
                <source path="files/validator.cpp" type="cpp.g++17"/>
                <binary path="files/validator.exe" type="exe.win32"/>
            </executable>
        </executables>
    </files>
    <assets>
        <checker type="testlib">
            <source path="files/checker.cpp" type="cpp.g++17"/>
            <binary path="check.exe" type="exe.win32"/>
            <copy path="check.cpp" type="cpp.g++17"/>
            <testset>
                <test-count>0</test-count>
                <input-path-pattern>files/tests/checker-tests/%02d</input-path-pattern>
                <output-path-pattern>files/tests/checker-tests/%02d.o</output-path-pattern>
                <answer-path-pattern>files/tests/checker-tests/%02d.a</answer-path-pattern>
                <tests/>
            </testset>
        </checker>
        <validators>
            <validator>
                <source path="files/validator.cpp" type="cpp.g++17"/>
                <binary path="files/validator.exe" type="exe.win32"/>
                <testset>
                    <test-count>0</test-count>
                    <input-path-pattern>files/tests/validator-tests/%02d</input-path-pattern>
                    <tests/>
                </testset>
            </validator>
        </validators>
        <solutions>
            <solution tag="main">
                <source path="solutions/l_pashka.cpp" type="cpp.g++17"/>
                <binary path="solutions/l_pashka.exe" type="exe.win32"/>
            </solution>
            <solution tag="accepted">
                <source path="solutions/swaps_av.kt" type="kotlin"/>
                <binary path="solutions/swaps_av.jar" type="jar"/>
            </solution>
            <solution tag="accepted">
                <source path="solutions/swaps_av_optimal.java" type="java8"/>
                <binary path="solutions/swaps_av_optimal.jar" type="jar"/>
            </solution>
        </solutions>
    </assets>
    <properties>
        <property name="tests-wellformed" value="true"/>
    </properties>
    <stresses>
        <stress-count>0</stress-count>
        <stress-path-pattern>stresses/%03d</stress-path-pattern>
        <list/>
    </stresses>
    <tags>
        <tag value="constructive"/>
        <tag value="permutations"/>
        <tag value="swaps"/>
    </tags>
</problem>
