Submission #36446723
Source Code Expand
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int in[3000003],que[3000003];
pair<int,int> a[1000001],b[1000001];
vector<int> edg[3000003];
int main()
{
ios::sync_with_stdio(false);
int n, m;
cin >> n >> m;
int siz_b=0,nc=m;
for(int i=1;i<=n;++i)
{
int siz_a=0,mini=0x7fffffff,maxi=0;
for(int j=1;j<=m;++j)
{
int x;
cin>>x;
if(x>0)
{
a[++siz_a]=make_pair(x,j);
mini=min(mini,x);
maxi=max(maxi,x);
}
}
if(siz_a)
{
b[++siz_b].first=mini;
b[siz_b].second=maxi;
sort(a+1,a+siz_a+1);
for(int j=1;j<=siz_a;++j)
{
const int sj=j;
for(;j<siz_a&&a[j+1].first==a[j].first;++j);
if(j<siz_a)
{
const int t=(++nc);
for(int k=sj;k<=j;edg[a[k].second].emplace_back(t),++k);
edg[t].emplace_back(a[j+1].second);
for(int k=j+1;k<siz_a&&a[k+1].first==a[k].first;edg[t].emplace_back(a[++k].second));
}
}
}
}
if(siz_b)
{
sort(b+1,b+siz_b+1);
for(int i=1;i<siz_b;++i)
{
if(b[i].second>b[i+1].first)
{
cout<<"No";
return 0;
}
}
for(int i=1;i<=nc;++i)
{
for(auto &j:edg[i])
{
++in[j];
}
}
int ta=0;
for(int i=1;i<=nc;++i)if(in[i]==0)que[++ta]=i;
for(int he=1;he<=ta;)
{
const int pos=que[he++];
for(int j:edg[pos])
{
if((--in[j])==0)
{
que[++ta]=j;
}
}
}
if(ta!=nc)
{
cout<<"No";
return 0;
}
cout<<"Yes";
}
else
{
cout<<"Yes";
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Sorting a Matrix |
| User | LXl491214 |
| Language | C++ (Clang 10.0.0) |
| Score | 500 |
| Code Size | 1547 Byte |
| Status | AC |
| Exec Time | 974 ms |
| Memory | 135836 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0.txt, example1.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt, 065.txt, 066.txt, 067.txt, 068.txt, example0.txt, example1.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 000.txt | AC | 409 ms | 90592 KiB |
| 001.txt | AC | 401 ms | 88328 KiB |
| 002.txt | AC | 974 ms | 135836 KiB |
| 003.txt | AC | 669 ms | 106144 KiB |
| 004.txt | AC | 604 ms | 100876 KiB |
| 005.txt | AC | 658 ms | 98460 KiB |
| 006.txt | AC | 660 ms | 96564 KiB |
| 007.txt | AC | 656 ms | 94456 KiB |
| 008.txt | AC | 496 ms | 79384 KiB |
| 009.txt | AC | 494 ms | 80456 KiB |
| 010.txt | AC | 309 ms | 73340 KiB |
| 011.txt | AC | 311 ms | 73380 KiB |
| 012.txt | AC | 720 ms | 118668 KiB |
| 013.txt | AC | 434 ms | 94604 KiB |
| 014.txt | AC | 595 ms | 104540 KiB |
| 015.txt | AC | 434 ms | 95092 KiB |
| 016.txt | AC | 714 ms | 110108 KiB |
| 017.txt | AC | 699 ms | 111920 KiB |
| 018.txt | AC | 704 ms | 110528 KiB |
| 019.txt | AC | 713 ms | 103132 KiB |
| 020.txt | AC | 615 ms | 98944 KiB |
| 021.txt | AC | 555 ms | 94636 KiB |
| 022.txt | AC | 469 ms | 89092 KiB |
| 023.txt | AC | 386 ms | 81508 KiB |
| 024.txt | AC | 555 ms | 85100 KiB |
| 025.txt | AC | 544 ms | 85600 KiB |
| 026.txt | AC | 494 ms | 83392 KiB |
| 027.txt | AC | 423 ms | 79532 KiB |
| 028.txt | AC | 372 ms | 77940 KiB |
| 029.txt | AC | 527 ms | 84916 KiB |
| 030.txt | AC | 485 ms | 82640 KiB |
| 031.txt | AC | 450 ms | 79940 KiB |
| 032.txt | AC | 393 ms | 77940 KiB |
| 033.txt | AC | 345 ms | 75452 KiB |
| 034.txt | AC | 451 ms | 81172 KiB |
| 035.txt | AC | 389 ms | 75840 KiB |
| 036.txt | AC | 384 ms | 77412 KiB |
| 037.txt | AC | 350 ms | 74580 KiB |
| 038.txt | AC | 344 ms | 75320 KiB |
| 039.txt | AC | 347 ms | 73480 KiB |
| 040.txt | AC | 395 ms | 78976 KiB |
| 041.txt | AC | 343 ms | 73988 KiB |
| 042.txt | AC | 328 ms | 73472 KiB |
| 043.txt | AC | 323 ms | 73872 KiB |
| 044.txt | AC | 660 ms | 101956 KiB |
| 045.txt | AC | 574 ms | 96712 KiB |
| 046.txt | AC | 554 ms | 93736 KiB |
| 047.txt | AC | 445 ms | 86440 KiB |
| 048.txt | AC | 378 ms | 80800 KiB |
| 049.txt | AC | 562 ms | 85444 KiB |
| 050.txt | AC | 522 ms | 83276 KiB |
| 051.txt | AC | 449 ms | 78784 KiB |
| 052.txt | AC | 425 ms | 80004 KiB |
| 053.txt | AC | 364 ms | 77028 KiB |
| 054.txt | AC | 500 ms | 84008 KiB |
| 055.txt | AC | 475 ms | 85060 KiB |
| 056.txt | AC | 423 ms | 80124 KiB |
| 057.txt | AC | 397 ms | 78668 KiB |
| 058.txt | AC | 348 ms | 75996 KiB |
| 059.txt | AC | 420 ms | 78436 KiB |
| 060.txt | AC | 376 ms | 73744 KiB |
| 061.txt | AC | 383 ms | 77784 KiB |
| 062.txt | AC | 358 ms | 75868 KiB |
| 063.txt | AC | 341 ms | 75160 KiB |
| 064.txt | AC | 349 ms | 73884 KiB |
| 065.txt | AC | 389 ms | 78820 KiB |
| 066.txt | AC | 336 ms | 73464 KiB |
| 067.txt | AC | 328 ms | 73520 KiB |
| 068.txt | AC | 319 ms | 73456 KiB |
| example0.txt | AC | 54 ms | 73308 KiB |
| example1.txt | AC | 52 ms | 73304 KiB |