답안 #106067

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
106067 2019-04-16T10:46:09 Z leonarda Uzastopni (COCI17_uzastopni) C++14
80 / 80
5 ms 384 KB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define F first
#define S second
typedef long long int lint;
typedef pair<lint, lint> pi;
const int inf = 0x3f3f3f3f;
const int maxn = 0;

lint n;
vector<pi> v;

int main ()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	
	cin >> n;
	
	for(lint i = 2; i <= sqrt(2 * n); ++i) {
		lint d = i;
		if(2 * n % d == 0) {
			lint m1 = d;
			lint m2 = 2 * n / d;
			lint f1 = (n * 2 / m1 - m1 + 1) / 2;
			lint f2 = (n * 2 / m2 - m2 + 1) / 2;
			if(f1 > 0 and (n * 2 / m1 - m1 + 1) % 2 == 0) 
				v.pb(mp(f1, f1 + m1 - 1));
			if(f2 > 0 and (n * 2 / m2 - m2 + 1) % 2 == 0) 
				v.pb(mp(f2, f2 + m2 - 1));
		}
	}
	
	for(int i = 0; i < v.size(); ++i)
		cout << v[i].F << " " << v[i].S << endl;

return 0;
}

Compilation message

uzastopni.cpp: In function 'int main()':
uzastopni.cpp:36:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < v.size(); ++i)
                 ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 3 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 3 ms 256 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 3 ms 256 KB Output is correct
10 Correct 5 ms 384 KB Output is correct