diff --git "a/0000-0999/0008 - Matches - \320\241\320\277\320\270\321\207\320\272\320\270 - Kibrit \303\247\303\266pl\311\231ri - \320\241\321\226\321\200\320\275\320\270\320\272\320\270 (no loops).cpp" "b/0000-0999/0008 - Matches - \320\241\320\277\320\270\321\207\320\272\320\270 - Kibrit \303\247\303\266pl\311\231ri - \320\241\321\226\321\200\320\275\320\270\320\272\320\270 (no loops).cpp" new file mode 100644 index 00000000..8d5ba398 --- /dev/null +++ "b/0000-0999/0008 - Matches - \320\241\320\277\320\270\321\207\320\272\320\270 - Kibrit \303\247\303\266pl\311\231ri - \320\241\321\226\321\200\320\275\320\270\320\272\320\270 (no loops).cpp" @@ -0,0 +1,27 @@ +#include +#include + +using namespace std; + +int getMinMatches(int n) { + int a = (int)sqrt(n); + n -= a * a; + + int res = 2 * a * (a + 1); + if (n == 0) return res; + + int ones = (n > a) ? 2 : 1; + res += (n - ones) * 2 + ones * 3; + + return res; +} + +int main() { + int n; + cin >> n; + + cout << getMinMatches(n) << endl; + + system("pause"); + return 0; +}