/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 320.0 KiB
#2 Wrong Answer 2ms 328.0 KiB
#3 Accepted 2ms 324.0 KiB
#4 Wrong Answer 5ms 544.0 KiB
#5 Time Exceeded ≥1091ms ≥532.0 KiB
#6 Time Exceeded ≥1092ms ≥532.0 KiB
#7 Time Exceeded ≥1086ms ≥532.0 KiB
#8 Time Exceeded ≥1090ms ≥540.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;

int part(int n) {
    for (int length = 2; length <= n / 2; ++length) {
        if (n % length != 0) {
            continue;
        }
        
        bool is_possible = true;
        for (int i = 0; i < n; i += length) {
            int max_element = i + length;
            int min_element = i + 1;
            for (int j = i + 1; j < i + length; ++j) {
                if (max_element < n && max_element < j + 1) {
                    max_element = j + 1;
                }
                if (min_element < n && min_element > j + 1) {
                    min_element = j + 1;
                }
            }
            if (abs(max_element - min_element) != 1) {
                is_possible = false;
                break;
            }
        }
        
        if (is_possible) {
            return n / length;
        }
    }
    
    return 1;
}

int main() {
    int T;
    cin >> T;
    while (T--) {
        int n;
        cin >> n;
        cout << part(n) << endl;
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1052 Yet Another Array Partition
Contest
Brain Booster #3
Language
C++20 (G++ 13.2.0)
Submit At
2024-05-06 17:19:47
Judged At
2024-10-03 13:48:44
Judged By
Score
10
Total Time
≥1092ms
Peak Memory
≥544.0 KiB