QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#271606 | #7878. Matrix Distances | ucup-team1074# | AC ✓ | 1286ms | 121280kb | C++23 | 1.8kb | 2023-12-02 13:33:01 | 2023-12-02 13:33:01 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define x first
#define y second
#define endl '\n'
const LL maxn = 4e05+7;
const LL N = 5e05+10;
const LL mod = 1e09+7;
const int inf = 0x3f3f3f3f;
const LL llinf = 5e18;
typedef pair<int,int>pl;
priority_queue<LL , vector<LL>, greater<LL> >mi;//小根堆
priority_queue<LL> ma;//大根堆
LL gcd(LL a, LL b){
return b > 0 ? gcd(b , a % b) : a;
}
LL lcm(LL a , LL b){
return a / gcd(a , b) * b;
}
int n , m;
vector<int>a(N , 0);
void init(int n){
for(int i = 0 ; i <= n ; i ++){
a[i] = 0;
}
}
void solve()
{
cin >> n >> m;
int id = 1;
map<int,int>mp;
vector<int>stx[n * m + 1] , sty[n * m + 1];
int x;
for(int i = 1 ; i <= n ; i ++){
for(int j = 1 ; j <= m ; j ++){
cin >> x;
if(!mp.count(x)){
mp[x] = id;
id++;
}
stx[mp[x]].pb(i) , sty[mp[x]].pb(j);
}
}
LL ans = 0;
for(int i = 1 ; i < id ; i ++){
int len = stx[i].size();
LL lsum = 0 , rsum = 0;
for(auto it : stx[i]){
rsum += it;
}
for(int j = 0 ; j < len ; j ++){
ans += (rsum - stx[i][j] * (len - j));
ans += (stx[i][j] * j - lsum);
lsum += stx[i][j];
rsum -= stx[i][j];
}
}
for(int i = 1 ; i < id ; i ++){
sort(sty[i].begin() , sty[i].end());
int len = sty[i].size();
LL lsum = 0 , rsum = 0;
for(auto it : sty[i]){
rsum += it;
}
for(int j = 0 ; j < len ; j ++){
ans += (rsum - sty[i][j] * (len - j));
ans += (sty[i][j] * j - lsum);
lsum += sty[i][j];
rsum -= sty[i][j];
}
}
cout << ans;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cout.precision(10);
int t=1;
//cin>>t;
while(t--)
{
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 5048kb
input:
2 2 1 1 2 2
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 0ms
memory: 5052kb
input:
4 4 1 3 2 4 2 1 2 3 1 3 3 2 3 2 1 4
output:
152
result:
ok 1 number(s): "152"
Test #3:
score: 0
Accepted
time: 105ms
memory: 61056kb
input:
1000 1000 227980299 227980299 227980299 227980299 227980299 776958596 227980299 227980299 227980299 227980299 227980299 227980299 227980299 227980299 227980299 227980299 776958596 227980299 227980299 329001637 227980299 227980299 227980299 329001637 227980299 227980299 227980299 227980299 227980299 ...
output:
506784086339644
result:
ok 1 number(s): "506784086339644"
Test #4:
score: 0
Accepted
time: 109ms
memory: 60248kb
input:
1000 1000 701031019 701031019 902550481 515963342 902550481 701031019 902550481 701031019 701031019 701031019 701031019 701031019 701031019 902550481 701031019 701031019 701031019 902550481 701031019 902550481 701031019 902550481 902550481 902550481 902550481 515963342 701031019 701031019 701031019 ...
output:
293351133301656
result:
ok 1 number(s): "293351133301656"
Test #5:
score: 0
Accepted
time: 124ms
memory: 60092kb
input:
1000 1000 584147147 584147147 771066621 584147147 814776600 814776600 584147147 814776600 814776600 814776600 771066621 814776600 814776600 771066621 584147147 814776600 814776600 771066621 814776600 584147147 771066621 584147147 814776600 771066621 814776600 584147147 814776600 584147147 771066621 ...
output:
222221591276684
result:
ok 1 number(s): "222221591276684"
Test #6:
score: 0
Accepted
time: 108ms
memory: 62560kb
input:
1000 1000 451748258 451748258 205399494 451748258 451748258 451748258 451748258 451748258 953934338 451748258 580264463 451748258 451748258 451748258 451748258 588594555 451748258 451748258 451748258 451748258 451748258 451748258 451748258 451748258 451748258 451748258 953934338 451748258 451748258 ...
output:
450794820267988
result:
ok 1 number(s): "450794820267988"
Test #7:
score: 0
Accepted
time: 125ms
memory: 60400kb
input:
1000 1000 548583482 635446288 548583482 635446288 635446288 548583482 548583482 635446288 801198618 548583482 635446288 635446288 548583482 635446288 548583482 548583482 548583482 548583482 635446288 635446288 635446288 635446288 635446288 635446288 548583482 726064808 635446288 801198618 548583482 ...
output:
237272499061426
result:
ok 1 number(s): "237272499061426"
Test #8:
score: 0
Accepted
time: 125ms
memory: 60004kb
input:
1000 1000 596800174 215475167 727165477 215475167 596800174 479596632 596800174 479596632 340778824 596800174 340778824 340778824 596800174 727165477 792552295 215475167 825136342 215475167 15133890 15133890 792552295 215475167 15133890 15133890 215475167 792552295 186221070 596800174 825136342 7925...
output:
66666979915604
result:
ok 1 number(s): "66666979915604"
Test #9:
score: 0
Accepted
time: 110ms
memory: 61672kb
input:
1000 1000 283321818 144879541 144879541 144879541 144879541 144879541 144879541 144879541 351529453 755622562 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 144879541 ...
output:
429192094084416
result:
ok 1 number(s): "429192094084416"
Test #10:
score: 0
Accepted
time: 123ms
memory: 60032kb
input:
1000 1000 161743512 416078170 855756681 889314339 416481165 889314339 855756681 889314339 855756681 889314339 855756681 264524276 855756681 855756681 855756681 889314339 855756681 889314339 889314339 889314339 494796476 889314339 889314339 889314339 889314339 855756681 855756681 855756681 855756681 ...
output:
216113198146626
result:
ok 1 number(s): "216113198146626"
Test #11:
score: 0
Accepted
time: 161ms
memory: 63776kb
input:
1000 1000 111711290 83219409 652958381 160096781 438510184 979014841 96096837 793714095 266288718 28912730 675001370 464693704 642313963 565598413 429830978 233570610 775904524 969001190 158819374 451251731 210397449 83219409 766749559 473545004 517036030 851023554 166176740 96096837 160096781 63151...
output:
6666591233498
result:
ok 1 number(s): "6666591233498"
Test #12:
score: 0
Accepted
time: 131ms
memory: 61768kb
input:
1000 1000 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 484082914 206885994 737061221 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 206885994 885540330 206885994 15312403 206885994 206885994 206885994 2...
output:
426348228198774
result:
ok 1 number(s): "426348228198774"
Test #13:
score: 0
Accepted
time: 155ms
memory: 60580kb
input:
1000 1000 119021511 262340498 119021511 571262579 262340498 119021511 119021511 262340498 262340498 262340498 262340498 262340498 119021511 119021511 119021511 262340498 262340498 262340498 119021511 119021511 16968046 262340498 262340498 119021511 616963806 119021511 119021511 119021511 616963806 2...
output:
213349390292676
result:
ok 1 number(s): "213349390292676"
Test #14:
score: 0
Accepted
time: 247ms
memory: 63140kb
input:
1000 1000 294834416 710159087 71576000 771158418 734800928 519231261 66958341 846593614 842762889 266263223 449970247 393627406 452797162 702159979 103716509 528121669 411977733 41875663 181065802 366920699 973794257 627741675 408432509 319085147 24347426 209592388 529269033 798345726 138118120 1776...
output:
666600092404
result:
ok 1 number(s): "666600092404"
Test #15:
score: 0
Accepted
time: 192ms
memory: 64548kb
input:
1000 1000 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 991718494 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 774400533 ...
output:
427191601662978
result:
ok 1 number(s): "427191601662978"
Test #16:
score: 0
Accepted
time: 202ms
memory: 61792kb
input:
1000 1000 786051867 749266154 786051867 336663633 786051867 786051867 336663633 786051867 786051867 786051867 336663633 786051867 786051867 800962293 786051867 786051867 786051867 223735788 786051867 336663633 336663633 786051867 148679559 336663633 786051867 336663633 336663633 786051867 73949921 6...
output:
213692206718908
result:
ok 1 number(s): "213692206718908"
Test #17:
score: 0
Accepted
time: 393ms
memory: 64228kb
input:
1000 1000 589040181 665125243 509194312 722650288 704530640 677647760 941069621 844686966 269308659 817746365 703209818 600393306 651385133 624370978 615782335 583567534 607685482 258818547 960735386 920234049 589990452 396294522 54789277 611895702 401553455 423080336 45108579 47104502 265933176 774...
output:
66671759372
result:
ok 1 number(s): "66671759372"
Test #18:
score: 0
Accepted
time: 262ms
memory: 68852kb
input:
1000 1000 340219853 340219853 340219853 439933175 340219853 340219853 340219853 321321381 68352466 340219853 340219853 340219853 340219853 340219853 3205688 340219853 262286151 340219853 340219853 921123028 340219853 340219853 340219853 831324481 740878043 340219853 340219853 340219853 809209277 340...
output:
427237509950002
result:
ok 1 number(s): "427237509950002"
Test #19:
score: 0
Accepted
time: 283ms
memory: 67892kb
input:
1000 1000 312807013 312807013 671631100 312807013 312807013 312807013 671631100 671631100 671631100 671631100 671631100 707041060 312807013 671631100 312807013 671631100 671631100 671631100 312807013 312807013 671631100 671631100 671631100 671631100 312807013 315186901 312807013 312807013 312807013 ...
output:
213105139802108
result:
ok 1 number(s): "213105139802108"
Test #20:
score: 0
Accepted
time: 860ms
memory: 74216kb
input:
1000 1000 968334296 124281306 602304677 823629809 4594569 888524150 464787481 66467938 740368986 98259485 609892270 10390448 306213053 649927667 507023218 743709660 259153419 9610640 278544598 763827885 452113052 834395597 591175799 165403867 53538577 69976033 120747719 800800356 966618685 95535293 ...
output:
6665934902
result:
ok 1 number(s): "6665934902"
Test #21:
score: 0
Accepted
time: 295ms
memory: 78028kb
input:
1000 1000 917320864 917320864 917320864 917320864 917320864 917320864 917320864 917320864 279445549 917320864 917320864 917320864 917320864 917320864 917320864 917320864 917320864 917320864 917320864 168955665 917320864 917320864 67798067 451366625 917320864 917320864 917320864 917320864 917320864 9...
output:
426406609284792
result:
ok 1 number(s): "426406609284792"
Test #22:
score: 0
Accepted
time: 308ms
memory: 78020kb
input:
1000 1000 563910894 248691777 502346207 502346207 563910894 502346207 563910894 124707688 563910894 502346207 563910894 674899337 502346207 563910894 322714828 563910894 880755660 563910894 502346207 563910894 502346207 502346207 563910894 623520096 821743885 563910894 563910894 563910894 563910894 ...
output:
213337139288624
result:
ok 1 number(s): "213337139288624"
Test #23:
score: 0
Accepted
time: 1286ms
memory: 121280kb
input:
1000 1000 73364669 160660181 892922167 705497300 862628574 77538387 281208292 899898205 132405130 749782378 940763807 919799196 943173556 657398506 921058988 192689732 309195568 999117035 726766947 8645595 568429846 372621995 976592332 626494982 740333029 234304386 641643560 572521033 682509489 1057...
output:
665074264
result:
ok 1 number(s): "665074264"
Test #24:
score: 0
Accepted
time: 1ms
memory: 5060kb
input:
1 1 1
output:
0
result:
ok 1 number(s): "0"
Extra Test:
score: 0
Extra Test Passed