QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#515916#2346. Miniature GolfYanagi_OrigamiAC ✓746ms4384kbC++14949b2024-08-12 11:26:492024-08-12 11:26:49

Judging History

This is the latest submission verdict.

  • [2024-08-12 11:26:49]
  • Judged
  • Verdict: AC
  • Time: 746ms
  • Memory: 4384kb
  • [2024-08-12 11:26:49]
  • Submitted

answer

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
typedef long long ll;
using namespace std;
int n,m;
int a[505][55];
ll sum[505];
int main(){
	cin>>n>>m;
	rep(i,1,n) rep(j,1,m) cin>>a[i][j];
	rep(i,1,n) rep(j,1,m) sum[i]+=a[i][j];
	rep(i,1,n) sort(a[i]+1,a[i]+m+1,greater<int>());
	rep(i,1,n){
		vector<pair<ll,int>>b;
		rep(j,1,n){
			ll s1=sum[i],s2=sum[j],lim=1e9;
			for(int ki=1,kj=1;ki<m||kj<m;a[i][ki]>a[j][kj]?ki++:kj++){
				bool old =(s2<=s1);
				ll v=max(a[i][ki], a[j][kj]);
				s1-=(lim-v)*ki,s2-=(lim-v)*kj;
				lim=v;
				if(!old&&s2<=s1)
					b.push_back(make_pair(lim+(s1-s2)/(kj-ki),1));
				else if(old&&s2>s1)
					b.push_back(make_pair(lim+(s2-s1-1)/(ki-kj),-1));
			}
		}
		sort(b.begin(), b.end(), greater<pair<int, int>>());
		int res=0, cur=0;
		rep(j,1,n) res+=sum[i]>=sum[j];
		cur=res;
		for(auto w:b) cur+=w.second, res=min(res,cur);
		cout<<res<<'\n';
	}
	return 0;
}

Details

Test #1:

score: 100
Accepted
time: 0ms
memory: 3612kb

Test #2:

score: 0
Accepted
time: 0ms
memory: 3644kb

Test #3:

score: 0
Accepted
time: 0ms
memory: 3544kb

Test #4:

score: 0
Accepted
time: 0ms
memory: 3576kb

Test #5:

score: 0
Accepted
time: 0ms
memory: 3836kb

Test #6:

score: 0
Accepted
time: 0ms
memory: 3488kb

Test #7:

score: 0
Accepted
time: 0ms
memory: 3604kb

Test #8:

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

Test #9:

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

Test #10:

score: 0
Accepted
time: 0ms
memory: 3548kb

Test #11:

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

Test #12:

score: 0
Accepted
time: 3ms
memory: 3504kb

Test #13:

score: 0
Accepted
time: 0ms
memory: 3540kb

Test #14:

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

Test #15:

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

Test #16:

score: 0
Accepted
time: 64ms
memory: 3684kb

Test #17:

score: 0
Accepted
time: 746ms
memory: 4032kb

Test #18:

score: 0
Accepted
time: 701ms
memory: 4096kb

Test #19:

score: 0
Accepted
time: 602ms
memory: 4052kb

Test #20:

score: 0
Accepted
time: 238ms
memory: 4224kb

Test #21:

score: 0
Accepted
time: 239ms
memory: 4384kb

Test #22:

score: 0
Accepted
time: 255ms
memory: 4224kb

Test #23:

score: 0
Accepted
time: 121ms
memory: 3608kb

Test #24:

score: 0
Accepted
time: 125ms
memory: 3964kb

Test #25:

score: 0
Accepted
time: 121ms
memory: 3740kb

Test #26:

score: 0
Accepted
time: 121ms
memory: 3668kb

Test #27:

score: 0
Accepted
time: 121ms
memory: 3964kb