QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#264092#6823. Coffee Overdosevp_account#WA 448ms3944kbC++141.1kb2023-11-25 12:30:262023-11-25 12:30:27

Judging History

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

  • [2024-04-08 20:49:53]
  • hack成功,自动添加数据
  • (/hack/589)
  • [2023-11-25 12:30:27]
  • 评测
  • 测评结果:WA
  • 用时:448ms
  • 内存:3944kb
  • [2023-11-25 12:30:26]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
int s,c,ans,T;
int read(){
	int x=0,f=1;char ch=getchar();
	while (!isdigit(ch)) {if (ch=='-') f=-1;ch=getchar();}
	while (isdigit(ch)) x=x*10+ch-48,ch=getchar();
	return x*f;
}
int f(int x,int y){
	int mid=y+(x-1)*c; if (mid>s) return 0;
	return (s+mid+1)*(s-mid)+(c-1)*(y+mid)*x;
}
signed main(){
	T=read();while (T--){
		s=read();c=read()+1;ans=0;  
		/*for (int i=0;i<=(s-1)/c+1;i++)
			for (int j=1;j<=s;j++)
				ans=max(ans,f(i,j)); */
		const int limit=(s-1)/c+1;
		for (int i=max(limit-10,0ll);i<=limit;i++){
			const int x=f(i,c/2);int cur,last,head=c/2; ans=max(ans,x);
			last=x; while (head>1&&(cur=f(i,head-1))>=last) head--,last=cur,ans=max(ans,cur);
			for (int j=0;j<=s;j++) ans=max(ans,f(i,j));
		}
		for (int i=0;i<=min(10ll,limit);i++){
			const int x=f(i,c/2);int cur,last,head=c/2; ans=max(ans,x);
			last=x; while (head>1&&(cur=f(i,head-1))>=last) head--,last=cur,ans=max(ans,cur); 
			for (int j=0;j<=s;j++) ans=max(ans,f(i,j));
		}
		printf("%lld\n",ans/2);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3944kb

input:

4
1 2
2 1
10 4
172800 172800

output:

2
3
63
29859840000

result:

ok 4 tokens

Test #2:

score: 0
Accepted
time: 73ms
memory: 3728kb

input:

100000
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 ...

output:

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
101
102
...

result:

ok 100000 tokens

Test #3:

score: 0
Accepted
time: 228ms
memory: 3748kb

input:

100000
201 1
201 2
201 3
201 4
201 5
201 6
201 7
201 8
201 9
201 10
201 11
201 12
201 13
201 14
201 15
201 16
201 17
201 18
201 19
201 20
201 21
201 22
201 23
201 24
201 25
201 26
201 27
201 28
201 29
201 30
201 31
201 32
201 33
201 34
201 35
201 36
201 37
201 38
201 39
201 40
201 41
201 42
201 43
2...

output:

20301
20302
20304
20309
20316
20328
20343
20365
20391
20426
20466
20517
20574
20644
20721
20813
20913
21030
21156
21301
21435
21588
21735
21837
22001
22152
22248
22359
22533
22680
22785
22848
22974
23154
23310
23436
23532
23598
23634
23801
23985
24150
24295
24420
24525
24610
24675
24720
24745
24901
...

result:

ok 100000 tokens

Test #4:

score: -100
Wrong Answer
time: 448ms
memory: 3808kb

input:

100000
401 1
401 2
401 3
401 4
401 5
401 6
401 7
401 8
401 9
401 10
401 11
401 12
401 13
401 14
401 15
401 16
401 17
401 18
401 19
401 20
401 21
401 22
401 23
401 24
401 25
401 26
401 27
401 28
401 29
401 30
401 31
401 32
401 33
401 34
401 35
401 36
401 37
401 38
401 39
401 40
401 41
401 42
401 43
4...

output:

80601
80602
80604
80609
80616
80628
80643
80665
80691
80726
80766
80817
80874
80944
81021
81113
81213
81330
81456
81601
81756
81932
82119
82329
82551
82798
83058
83345
83636
83916
84227
84448
84759
85068
85260
85551
85877
86108
86256
86601
86920
87150
87290
87531
87885
88182
88407
88560
88641
89001
...

result:

wrong answer 41522nd words differ - expected: '118701', found: '118690'