Pagini recente » Borderou de evaluare (job #2042915) | Borderou de evaluare (job #1746032) | Borderou de evaluare (job #497199) | Borderou de evaluare (job #889783) | Borderou de evaluare (job #2029888)
Borderou de evaluare (job #2029888)
Raport evaluator
Compilare:
user.cpp: In function ‘void dfs(int, int)’:
user.cpp:4:232: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
using namespace std;ifstream cin("banana.in");ofstream cout("banana.out");struct fint{int r,c,i;};fint v[16005];int col[16005],apr[16005];vector<int>mat[16005];void dfs(int ran,int color){col[ran]=color;for(int j=0;j<mat[ran].size();j++)if(col[mat[ran][j]]==0)dfs(mat[ran][j],color);}bool cmpran(fint a,fint b){if(a.r==b.r)return a.c<b.c;return a.r<b.r;}bool cmpcol(fint a,fint b){if(a.c==b.c)return a.r<b.r;return a.c<b.c;}int main(){int n,k;cin>>n>>k;v[0].r=v[0].c=v[n+1].r=v[n+1].c=-1;for(int i=1;i<=n;i++){v[i].i=i;cin>>v[i].r>>v[i].c;}sort(v+1,v+n+1,cmpran);for(int i=1;i<=n;i++){if(v[i].r==v[i-1].r and v[i].c==v[i-1].c+1){int a=v[i].i,b=v[i-1].i;mat[a].push_back(b);mat[b].push_back(a);}}sort(v+1,v+n+1,cmpcol);for(int i=1;i<=n;i++){if(v[i].c==v[i-1].c and v[i].r==v[i-1].r+1){int a=v[i].i,b=v[i-1].i;mat[a].push_back(b);mat[b].push_back(a);}}int color=0,s=0;for(int i=1;i<=n;i++)if(col[i]==0){color++;dfs(i,color);}for(int i=1;i<=n;i++)apr[col[i]]++;sort(apr+1,apr+color+1);for(int i=max(1,color-k+1);i<=color;i++)s+=apr[i];cout<<s;return 0;}
^
Test |
Timp executie |
Memorie folosita |
Mesaj |
Punctaj/test |
1 | 0ms | 632kb | OK | 10 |
2 | 0ms | 640kb | OK | 10 |
3 | 4ms | 736kb | OK | 10 |
4 | 12ms | 1520kb | OK | 10 |
5 | 12ms | 1040kb | OK | 10 |
6 | 20ms | 1180kb | OK | 10 |
7 | 16ms | 936kb | OK | 10 |
8 | 20ms | 1696kb | OK | 10 |
9 | 16ms | 1160kb | OK | 10 |
10 | 16ms | 944kb | OK | 10 |
Punctaj total | 100 |