QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#506644#4561. Catfish FarmDan4Life#9 45ms88152kbC++231.8kb2024-08-05 20:24:392024-08-05 20:24:41

Judging History

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

  • [2024-08-05 20:24:41]
  • 评测
  • 测评结果:9
  • 用时:45ms
  • 内存:88152kb
  • [2024-08-05 20:24:39]
  • 提交

answer

#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) begin(a),end(a)
using ll = long long;
using vi = vector<int>;
const int mxN = (int)1e5+10;
const int mxN2 = (int)3e2+10;
const ll LINF = (ll)2e18;
int n, m;
struct Fish{ int x, y, w; };
vector<Fish> fishes;
ll dp[mxN][10][10];
ll pref[mxN][4];
int mxY = 2;

ll max_weights(int N, int M, vi _X, vi _Y, vi _W) {
	n = N, m = M; mxY=min(mxY,N);
	for(int i = 0; i < m; i++) 
		fishes.pb({_X[i]+1,_Y[i]+1,_W[i]});
	sort(all(fishes),[&](Fish a, Fish b){
		if(a.x!=b.x) return a.x<b.x;
		return a.y<b.y;
	});
	for(int i = 0; i < m; i++){
		auto [x,y,w] = fishes[i];
		pref[x][y]+=w;
	}
	for(int i = 0; i <= n; i++)
		for(int j = 1; j <= 2; j++)
			pref[i][j]+=pref[i][j-1];
	for(int i = 0; i <= n; i++)
		for(int j = 0; j <= mxY; j++)
			for(int k = 0; k <= mxY; k++)
				dp[i][j][k]=-LINF;
	ll ans = 0;
	for(int i = 0; i <= mxY; i++){
		for(int j = 0; j <= mxY; j++){
			if(i>j) dp[2][i][j]=pref[1][i]-pref[1][j];
			else if(i<j) dp[2][i][j]=pref[2][j]-pref[2][i];
			else dp[2][i][j]=0;
			ans=max(ans, dp[2][i][j]+pref[3][i]);
		}
	}
	for(int i = 3; i <= n; i++){
		for(int j = 0; j <= mxY; j++){
			for(int k = 0; k <= mxY; k++){
				ll costi = 0;
				if(k>j) costi=pref[i][k]-pref[i][j];
				for(int l = 0; l <= k; l++){
					ll costi1 = 0;
					if(j>k) costi1 = pref[i-1][j]-pref[i-1][k];
					dp[i][j][k] = max(dp[i][j][k], dp[i-1][k][l]+costi1);
				}
				for(int l = k+1; l<= mxY; l++){
					ll costi1 = 0;
					if(j>l) costi1 = pref[i-1][j]-pref[i-1][l];
					dp[i][j][k] = max(dp[i][j][k], dp[i-1][k][l]+costi1);
				}
				dp[i][j][k]+=costi;
				ans = max(ans, dp[i][j][k]+pref[i+1][j]);
			}
		}
	}
	return ans;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 26ms
memory: 80304kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 80699
0 10792 55091480
0 36762 389250726
0 79267 706445371
0 76952 290301137
0 13444 69711795
0 68980 66221400
0 1695 703252611
0 36628 632571604
0 87676 264578012
0 79496 397448339
0 57929 447544332
0 35453 355374818
0 62449 686423696
0 45614 667165709...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
15168301021461

result:

wrong answer 3rd lines differ - expected: '40313272768926', found: '15168301021461'

Subtask #2:

score: 0
Wrong Answer

Test #7:

score: 6
Accepted
time: 0ms
memory: 5828kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
3 2
0 0 1
1 1 1

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
2

result:

ok 3 lines

Test #8:

score: 0
Wrong Answer
time: 45ms
memory: 84276kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 161862
0 56823 293232472
0 28967 124369573
1 8799 138712011
0 87115 743135614
1 56429 262092699
0 61318 597172732
0 39127 477101342
1 44938 277680401
1 79037 997527330
1 88113 13289754
0 29715 35249311
0 50637 709319782
1 20760 845594381
1 80662 6299890...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
28909667470297

result:

wrong answer 3rd lines differ - expected: '40604614618209', found: '28909667470297'

Subtask #3:

score: 9
Accepted

Test #20:

score: 9
Accepted
time: 9ms
memory: 85024kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
0 0 10082010

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
10082010

result:

ok 3 lines

Test #21:

score: 9
Accepted
time: 13ms
memory: 85044kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
99999 0 882019

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
882019

result:

ok 3 lines

Test #22:

score: 9
Accepted
time: 12ms
memory: 80100kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 53444
40538 0 933021958
22736 0 403565340
52395 0 535014365
46488 0 818102149
19082 0 825246110
7712 0 581240932
30019 0 143288209
16519 0 206714026
8855 0 737518859
44939 0 63482743
40524 0 963968043
2663 0 953447256
25511 0 762455895
10794 0 880225092...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
21261825233649

result:

ok 3 lines

Test #23:

score: 9
Accepted
time: 17ms
memory: 85992kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 35893
58578 0 304141028
55753 0 423438149
28242 0 9158978
26888 0 284963184
54273 0 494234963
29697 0 240842358
86194 0 789279485
58100 0 572200683
57232 0 355330259
21029 0 261781158
20244 0 594911163
84269 0 452539910
35836 0 228436540
86304 0 785924...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
14486631352875

result:

ok 3 lines

Test #24:

score: 9
Accepted
time: 30ms
memory: 88140kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
79988 0 40146450
9642 0 4878540
15808 0 7990718
87998 0 44144800
50 0 28601
87736 0 44009424
1293 0 663798
5837 0 2957384
63202 0 31702174
47501 0 23852124
73162 0 36720321
22116 0 11144107
10533 0 5323103
11339 0 5737527
94001 0 47121962
57059 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
1673106170551

result:

ok 3 lines

Test #25:

score: 9
Accepted
time: 23ms
memory: 88052kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
29663 0 1
8831 0 1
36979 0 1
18031 0 1
58035 0 1
17126 0 1
39877 0 1
65204 0 1
95787 0 1
3456 0 1
70567 0 1
32636 0 1
25925 0 1
28249 0 1
44082 0 1
96342 0 1
85086 0 1
34386 0 1
14480 0 1
76553 0 1
52077 0 1
9592 0 1
23079 0 1
40176 0 1
12131 0 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
141909

result:

ok 3 lines

Test #26:

score: 9
Accepted
time: 24ms
memory: 88140kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
83585 0 2094163
24287 0 2036215
24300 0 2033375
19914 0 2054613
21378 0 2041083
21499 0 2045341
90833 0 2102645
61879 0 2063456
1760 0 2002021
88192 0 2110989
53350 0 2053627
16287 0 2051126
65429 0 2060736
51431 0 2072545
77128 0 2074487
42574 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
136990846207

result:

ok 3 lines

Test #27:

score: 9
Accepted
time: 28ms
memory: 88152kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
85230 0 4609010
60078 0 12007449
43791 0 3942515
1997 0 2998622
56562 0 10337802
20938 0 11560354
76302 0 3874165
47495 0 5809667
11746 0 7920761
33327 0 5406979
78092 0 2965837
99383 0 11744076
52546 0 8319876
51870 0 7985523
71948 0 6035731
86...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
469063835000

result:

ok 3 lines

Subtask #4:

score: 0
Wrong Answer

Test #28:

score: 0
Wrong Answer
time: 1ms
memory: 5820kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
4 3
2 2 1
0 0 1
1 1 1

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
2

result:

wrong answer 3rd lines differ - expected: '3', found: '2'

Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Wrong Answer

Test #60:

score: 0
Wrong Answer
time: 33ms
memory: 88064kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 99999
31026 31026 1
42940 42940 1
69303 69303 1
90350 90350 1
77507 77507 1
87126 87126 1
17988 17988 1
5146 5146 1
63023 63023 1
27776 27776 1
6136 6136 1
82557 82557 1
24904 24904 1
21667 21667 1
67271 67271 1
80294 80294 1
81145 81145 1
47144 47144 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
40001

result:

wrong answer 3rd lines differ - expected: '99999', found: '40001'

Subtask #8:

score: 0
Skipped

Dependency #1:

0%