QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#136626#235. Maximum Multiplewtn135687#0 0ms0kbC++20929b2023-08-09 09:28:052023-08-09 09:28:06

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-09 09:28:06]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2023-08-09 09:28:05]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll

const int N = 1e6+10,mo = 1e9+7;

int a[N];

int mp[N];


inline void solve(){
    int n;cin>>n;
    if(mp[n]){cout<<mp[n]<<"\n";return ;}
    ll ans=-1;
    for(int x=1;x*x<=n;x++){
        if(n%x==0){
            if((n-x)%2==0){
                int z,y;
                z=y=(n-x)/2;
                if(x!=n&&y!=n&&z>0&&n%z==0)ans=max(ans,x*y*z);
            }
            if((n-n/x)%2==0){
                int z,y;
                z=y=(n-n/x)/2;
                if(x!=n&&y!=n&&z>0&&n%z==0)ans=max(ans,(n/x)*y*z);
            }
        }
    }
    mp[n]=ans;
    cout<<ans<<"\n";
}



signed main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    int WTN666=1;cin>>WTN666;
    while(WTN666--){
        solve();
    }
}




































详细

Test #1:

score: 0
Time Limit Exceeded

input:

1000000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
...

output:

-1
-1
1
2
-1
8
-1
16
27
-1
-1
64
-1
-1
125
128
-1
216
-1
250
343
-1
-1
512
-1
-1
729
686
-1
1000
-1
1024
1331
-1
-1
1728
-1
-1
2197
2000
-1
2744
-1
2662
3375
-1
-1
4096
-1
-1
4913
4394
-1
5832
-1
5488
6859
-1
-1
8000
-1
-1
9261
8192
-1
10648
-1
9826
12167
-1
-1
13824
-1
-1
15625
13718
-1
17576
-1
16...

result: