QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#484889#795. Cloud Computingfryan#18 319ms4688kbC++201.8kb2024-07-20 04:43:552024-07-20 04:43:57

Judging History

This is the latest submission verdict.

  • [2024-07-20 04:43:57]
  • Judged
  • Verdict: 18
  • Time: 319ms
  • Memory: 4688kb
  • [2024-07-20 04:43:55]
  • Submitted

answer

#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <complex>
#include <cstdio>
#include <cstring>
#include <deque>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <string>
#include <tuple>
#include <vector>
using namespace std;
#define int long long
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

const int inf=1e18;
const int mxn=2e3+1;
const int mxc=1e5+1;

int n,m;
array<int,3> buy[mxn], sel[mxn];
vector<int> dt;
int dp[mxc];

signed main() {
	ios::sync_with_stdio(false); cin.tie(nullptr);
	
	cin>>n;
	for (int i=0; i<n; i++) {
		cin>>buy[i][1]>>buy[i][0]>>buy[i][2];
		dt.push_back(buy[i][0]);
	}
	cin>>m;
	for (int i=0; i<m; i++) {
		cin>>sel[i][1]>>sel[i][0]>>sel[i][2];
		dt.push_back(sel[i][0]);
	}
	sort(all(dt)); dt.erase(unique(all(dt)),dt.end());
	reverse(all(dt));
	
	sort(buy,buy+n); reverse(buy,buy+n);
	sort(sel,sel+n); reverse(sel,sel+n);
	
	dp[0]=0;
	for (int i=1; i<mxc; i++) {dp[i]=-inf;}
	
	int bp=0,sp=0;
	for (int f : dt) {
		while (bp<n && buy[bp][0]==f) {
			int cost=buy[bp][2];
			int amt=buy[bp][1];
			for (int i=mxc-1; i>=0; i--) {
				if (dp[i]==-inf) continue;
				if (i+amt>=mxc) continue;
				dp[i+amt]=max(dp[i+amt],dp[i]-cost);
			}
			bp++;
		}
		while (sp<m && sel[sp][0]==f) {
			int val=sel[sp][2];
			int amt=sel[sp][1];
			for (int i=0; i<mxc; i++) {
				if (dp[i]==-inf) continue;
				if (i-amt<0) continue;
				dp[i-amt]=max(dp[i-amt],dp[i]+val);
			}
			sp++;
		}
	}
	int ans=0;
	for (int i=0; i<mxc; i++) {
		ans=max(ans,dp[i]);
	}
	cout<<ans;
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 18
Accepted
time: 0ms
memory: 4388kb

input:

1
3 3253 744
1
1 2012 798

output:

54

result:

ok single line: '54'

Test #2:

score: 0
Accepted
time: 1ms
memory: 4508kb

input:

1
1 2291 728
1
3 3024 858

output:

0

result:

ok single line: '0'

Test #3:

score: -18
Wrong Answer
time: 2ms
memory: 4516kb

input:

8
18 5754 6872
11 5543 1464
6 6940 9405
10 5152 4196
13 5784 7499
18 6787 260
14 5922 218
17 5037 7983
100
3 5482 4812
1 3922 7167
3 3566 8041
2 3532 3839
3 3948 4490
2 5301 6616
3 4216 796
2 4583 5021
1 3311 3984
3 3044 2702
2 4529 288
2 3352 6474
2 3102 4548
3 3784 2968
2 5054 2143
2 5385 1542
3 3...

output:

46990

result:

wrong answer 1st lines differ - expected: '368159', found: '46990'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Wrong Answer

Test #18:

score: 0
Wrong Answer
time: 3ms
memory: 4392kb

input:

12
1 3728 3883
1 2483 1377
1 2421 2213
1 4866 648
1 2292 1737
1 4027 657
1 2119 2801
1 2559 859
1 3859 3261
1 2908 3110
1 2917 2467
1 2011 3406
18
1 2558 4956
1 3468 2947
1 4577 4082
1 2886 2222
1 2979 3572
1 2266 4860
1 2868 3183
1 3665 4259
1 2607 4802
1 2811 3874
1 2314 4212
1 2638 3152
1 2944 44...

output:

20501

result:

wrong answer 1st lines differ - expected: '23934', found: '20501'

Subtask #4:

score: 18
Accepted

Test #26:

score: 18
Accepted
time: 2ms
memory: 4512kb

input:

10
2 1 2274
2 1 2524
1 1 2699
5 1 2930
4 1 1802
2 1 2734
4 1 1036
3 1 2741
5 1 1138
1 1 2132
6
5 1 3573
1 1 4847
2 1 3885
1 1 2183
2 1 2534
1 1 4659

output:

17705

result:

ok single line: '17705'

Test #27:

score: 0
Accepted
time: 2ms
memory: 4596kb

input:

10
5 1 19
3 1 14
4 1 10
3 1 10
4 1 20
2 1 9
1 1 4
4 1 10
1 1 2
3 1 10
6
5 1 13
5 1 13
3 1 10
1 1 3
5 1 13
5 1 13

output:

4

result:

ok single line: '4'

Test #28:

score: 0
Accepted
time: 133ms
memory: 4612kb

input:

1500
5 1 766
1 1 925
5 1 545
5 1 916
1 1 747
3 1 981
2 1 794
1 1 853
4 1 745
2 1 539
4 1 611
3 1 730
2 1 995
4 1 663
1 1 667
4 1 615
3 1 813
3 1 750
2 1 917
3 1 568
1 1 602
1 1 792
1 1 774
5 1 860
5 1 834
1 1 946
2 1 567
3 1 770
3 1 750
5 1 752
4 1 718
3 1 987
2 1 977
4 1 838
2 1 642
4 1 558
4 1 878...

output:

0

result:

ok single line: '0'

Test #29:

score: 0
Accepted
time: 156ms
memory: 4464kb

input:

13
20 1 9848
33 1 11113
33 1 11397
43 1 5486
19 1 10018
37 1 8534
43 1 7616
43 1 5394
13 1 11453
44 1 11120
29 1 11057
46 1 9023
20 1 11984
1805
9 1 845
4 1 355
6 1 818
7 1 307
9 1 354
9 1 593
10 1 650
3 1 962
5 1 273
8 1 873
1 1 420
7 1 948
4 1 668
1 1 708
6 1 616
7 1 594
9 1 201
7 1 768
3 1 802
7 ...

output:

102484

result:

ok single line: '102484'

Test #30:

score: 0
Accepted
time: 306ms
memory: 4604kb

input:

1992
11 1 199631204
46 1 880088920
46 1 60421978
41 1 374317414
26 1 752692847
46 1 745140558
12 1 64000008
5 1 454886525
13 1 69573629
15 1 522471571
38 1 611340638
20 1 11136794
14 1 757697844
29 1 474321924
42 1 911180569
9 1 569689273
14 1 321726981
14 1 236570294
36 1 312654389
23 1 35766191
27...

output:

575524668672

result:

ok single line: '575524668672'

Test #31:

score: 0
Accepted
time: 319ms
memory: 4608kb

input:

2000
43 1 160482641
50 1 128216371
43 1 795777040
48 1 639914818
44 1 341588814
50 1 694546956
47 1 111220218
44 1 529410604
49 1 33620380
47 1 488422815
48 1 689416355
44 1 128908044
43 1 804535816
43 1 778001742
46 1 332918417
42 1 757120862
40 1 835341946
48 1 69935722
40 1 702766873
46 1 9924335...

output:

0

result:

ok single line: '0'

Test #32:

score: 0
Accepted
time: 314ms
memory: 4548kb

input:

2000
46 1 16
46 1 12
41 1 6
43 1 13
43 1 16
47 1 16
43 1 2
40 1 14
50 1 14
42 1 12
50 1 3
45 1 1
41 1 3
48 1 6
46 1 18
47 1 17
48 1 18
41 1 6
44 1 13
43 1 2
46 1 9
45 1 14
45 1 14
47 1 2
41 1 3
45 1 8
42 1 13
48 1 13
42 1 3
40 1 18
48 1 19
48 1 11
47 1 9
41 1 16
49 1 8
45 1 8
48 1 1
47 1 13
50 1 6
4...

output:

1000605883784

result:

ok single line: '1000605883784'

Test #33:

score: 0
Accepted
time: 308ms
memory: 4688kb

input:

1937
48 1 10
44 1 17
45 1 15
40 1 3
47 1 13
45 1 3
41 1 13
50 1 8
45 1 18
50 1 4
49 1 5
48 1 9
50 1 19
46 1 14
48 1 2
45 1 5
42 1 2
50 1 17
42 1 4
50 1 20
47 1 5
40 1 19
44 1 16
44 1 9
40 1 7
45 1 2
47 1 5
50 1 13
47 1 19
43 1 11
45 1 4
46 1 9
46 1 7
49 1 12
45 1 1
42 1 13
46 1 7
46 1 1
49 1 3
49 1 ...

output:

976944450013

result:

ok single line: '976944450013'

Subtask #5:

score: 0
Wrong Answer

Test #34:

score: 18
Accepted
time: 1ms
memory: 4544kb

input:

4
43 2536 1
48 2001 1
49 3407 1
48 3778 1
2
42 3314 1
43 3073 1

output:

0

result:

ok single line: '0'

Test #35:

score: 0
Accepted
time: 11ms
memory: 4456kb

input:

57
47 1212 1
42 1104 1
48 1247 1
44 1420 1
41 1428 1
46 1364 1
47 1245 1
40 1199 1
48 1027 1
49 1113 1
50 1439 1
45 1208 1
41 1231 1
41 1131 1
48 1080 1
43 1218 1
45 1145 1
44 1071 1
43 1393 1
47 1314 1
45 1306 1
47 1439 1
42 1124 1
49 1383 1
47 1175 1
45 1099 1
46 1378 1
45 1285 1
46 1323 1
41 1234...

output:

0

result:

ok single line: '0'

Test #36:

score: 0
Accepted
time: 70ms
memory: 4556kb

input:

570
46 5838 1
40 6425 1
44 5897 1
42 6694 1
49 4775 1
43 6145 1
49 3903 1
46 4661 1
50 5987 1
43 7469 1
40 8641 1
47 7424 1
43 6303 1
44 9446 1
42 9626 1
48 3201 1
46 4829 1
44 7695 1
41 8599 1
48 4502 1
43 7551 1
44 4095 1
50 7648 1
45 5950 1
50 8967 1
42 3801 1
45 4723 1
42 8216 1
47 9791 1
41 586...

output:

233

result:

ok single line: '233'

Test #37:

score: -18
Wrong Answer
time: 140ms
memory: 4468kb

input:

800
2 33219 1
3 24476 1
3 44557 1
1 84514 1
4 14659 1
1 62141 1
1 28408 1
3 26361 1
2 60406 1
4 75765 1
2 82764 1
4 57798 1
3 40248 1
3 41219 1
4 36238 1
1 59815 1
1 11587 1
2 25934 1
2 47903 1
2 33165 1
4 53043 1
1 78402 1
3 67224 1
2 43672 1
2 56655 1
2 30009 1
1 31863 1
2 98445 1
1 70192 1
3 3927...

output:

273

result:

wrong answer 1st lines differ - expected: '381', found: '273'

Subtask #6:

score: 0
Skipped

Dependency #1:

0%