QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#536640 | #4561. Catfish Farm | Aldk# | 0 | 2ms | 14024kb | C++20 | 2.9kb | 2024-08-29 15:13:47 | 2024-08-29 15:13:50 |
Judging History
answer
#include "fish.h"
#include<bits/stdc++.h>
#define pb push_back
#define pf push_front
//#define mp make_pair
#define F first
#define S second
#define ff first
#define ss second
#define str string
#define ll long long
#define ull unsigned ll
#define ld long double
#define pll pair<ll,ll>
#define plll pair<ll,pll>
#define pllll pair<pll,pll>
#define pld pair<ld,ld>
#define vl vector<ll>
#define vll vector<pll>
#define vlll vector<plll>
#define vllll vector<pllll>
#define vb vector<bool>
#define sz size()
#define fr front()
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define bk back();
//#pragma GCC target( "sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("Ofast,unroll-loops,fast-math,O3")
using namespace std;
const ld pi=acos(-1.0);
const ll e5=1e5;
const ll e6=1e6;
const ll e9=1e9;
const ll inf=1e18;
const ll mod=1e9+7;
const ll mod2=998244353;
const ll MOD=106710087877475399;
const ll N=3e2+10;
ll bpm(ll x,ll y,ll m){if(y==0)return 1%m;if(y==1)return x%m;ll p=bpm(x,y/2,m);
if(y%2==0)return p*p%m;else return p*p%m*x%m;}
ll bp(ll x,ll y){if(y==0)return 1;if(y==1)return x;ll p=bp(x,y/2);
if(y%2==0)return p*p;else return p*p*x;}
ll s[N][N],dp[N][N][N],pr[N][N],m1[N][N][9],m2[N][N][9];
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,std::vector<int> W){
for(ll i=0;i<M;i++){
s[X[i]][Y[i]]+=W[i];
}
for(ll i=0;i<N;i++){
pr[i][0]=s[i][0];
for(ll j=0;j<N;j++) pr[i][j]=pr[i][j-1]+s[i][j];
}
for(ll i=0;i<N;i++){
for(ll j=0;j<N;j++){
if(i==0) dp[0][i][j]=pr[1][i];
else dp[0][i][j]=-inf;
}
}
ll ans=0;
for(ll p=1;p<N;p++){
for(ll b=0;b<9;b++){
for(ll i=0;i+(1<<b)-1<N;i++){
for(ll j=0;j<N;j++){
if(b==0) m1[i][j][b]=dp[p-1][i][j], m2[i][j][b]=dp[p-1][i][j]-pr[p-1][i];
else{
m1[i][j][b]=max(m1[i][j][b-1],m1[i+(1<<(b-1))][j][b-1]);
m2[i][j][b]=max(m2[i][j][b-1],m2[i+(1<<(b-1))][j][b-1]);
}
}
}
}
for(ll j=0;j<N;j++){
for(ll k=0;k<N;k++){
ll x=pr[p-1][k]-pr[p][min(j,k)];
if(p<N-1) x+=pr[p+1][k];
ll y=-inf,lg=31-__builtin_clz(j+1);
y=max(y, max(m1[0][j][lg],m1[j-(1<<lg)+1][j][lg]) - pr[p-1][min(j,k)]);
if(j<=k){
lg=31-__builtin_clz(k-j+1);
y=max(y, max(m2[j][j][lg],m2[k-(1<<lg)+1][j][lg]));
}
lg=31-__builtin_clz(N-max(j,k));
y=max(y, max(m1[max(j,k)][j][lg],m1[N-(1<<lg)][j][lg]) - pr[p-1][k]);
dp[p][j][k]=x+y;
if(p==N-1) ans=max(ans,dp[p][j][k]);
}
}
}
return ans;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Runtime Error
Test #1:
score: 0
Runtime Error
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:
Unauthorized output
result:
Subtask #2:
score: 0
Wrong Answer
Test #7:
score: 0
Wrong Answer
time: 0ms
memory: 14024kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 0 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 1
result:
wrong answer 3rd lines differ - expected: '2', found: '1'
Subtask #3:
score: 0
Runtime Error
Test #20:
score: 0
Runtime Error
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 0 10082010
output:
Unauthorized output
result:
Subtask #4:
score: 0
Wrong Answer
Test #28:
score: 0
Wrong Answer
time: 2ms
memory: 9932kb
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
Runtime Error
Test #60:
score: 0
Runtime Error
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:
Unauthorized output
result:
Subtask #8:
score: 0
Skipped
Dependency #1:
0%