Các hình chữ nhật có cùng chu vi


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

Cho số nguyên dương \(N\). Hãy tìm và in ra diện tích của tất cả các hình chữ nhật có chu vi \(N\) và có độ dài các cạnh là nguyên dương.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên \(T\) là số bộ dữ liệu, tiếp theo là \(T\) bộ dữ liệu, mỗi bộ dữ liệu gồm một dòng chứa một số nguyên dương \(N\).

Ràng buộc:

  • \(0 < T \leq 100; 1 < N \leq 10^4\)

Kết quả

  • Ứng với mỗi bộ dữ liệu vào, in ra một dòng chứa các số đo diện tích của các hình chữ nhật khác nhau có chu vi N. Các giá trị diện tích cần được in theo trật tự tăng dần và chỉ in các giá trị khác nhau. Nếu không tìm được hình chữ nhật nào thỏa mãn thì chỉ in ra một dòng với sô -1.

Ví dụ:

INPUT

3
5
2
10

OUTPUT

-1
-1
4 6

Comments


  • 1
    thandieudaibip  commented on Aug. 17, 2022, 3:47 a.m.

    có cách nào để ko bị TLE ko :(


    • 1
      leminhhai  commented on Sept. 1, 2023, 9:22 a.m.

      include <bits/stdc++.h>

      using namespace std; void solve(int n) { set<int> area; if (n % 2 != 0) {cout << "-1\n"; return;} n = n / 2; for (int i = 1; i < n; i++) area.insert(i(n - i)); if (area.empty()) {cout << "-1\n"; return;} set<int, less<int>>::iterator iter; for (iter = area.begin(); iter != area.end(); iter++) cout << iter << ' '; cout << '\n'; return; } int main() { int t,n; cin >> t; while (t--) { cin >> n; solve(n); } return 0; }