답안 #726453

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
726453 2023-04-19T00:09:31 Z buffering Uzastopni (COCI17_uzastopni) C++17
80 / 80
2 ms 336 KB
#include <bits/stdc++.h>
using namespace std;

void IO(string s = "")
{
    if (s == "")
    {
        freopen("input.txt", "r", stdin);
        freopen("output 2.txt", "w", stdout);
    }
    if (s != "")
    {
        freopen((s + ".in").c_str(), "r", stdin);
        freopen((s + ".out").c_str(), "w", stdout);
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    //IO();

    long long n; cin >> n;

    /*
    y = (a + b)/2
    l = b - a + 1
    l * y = n
    */

    vector<long long> f;
    
    for (long long l = 1; l <= sqrt(n); l++) {
        if (n % l == 0) {
            f.push_back(l);
            f.push_back(n/l);
        }
    }

    for (auto l: f) {
        /*
        l = b - a + 1
        l * y = n
        y = n/l

        2y = a + b
        l = b - a + 1
        a = b - l + 1
        2y + l - 1 = 2b
        */
        long long y = n/l;
        long long calc = 2 * y + l - 1;

        if (calc & 1) continue;

        long long b = calc/2;
        long long a = b - l + 1;

        if (a <= 0) {
            a *= -1;
            a++;
        }

        if (a == b) continue;

        cout << a << " " << b << endl;




    }

}

Compilation message

uzastopni.cpp: In function 'void IO(std::string)':
uzastopni.cpp:8:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |         freopen("input.txt", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
uzastopni.cpp:9:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |         freopen("output 2.txt", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uzastopni.cpp:13:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         freopen((s + ".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uzastopni.cpp:14:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |         freopen((s + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 316 KB Output is correct
9 Correct 1 ms 336 KB Output is correct
10 Correct 2 ms 324 KB Output is correct