Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <string>
- #include <cstring>
- #include <vector>
- #include <set>
- #include <map>
- #include <algorithm>
- #include <cstdlib>
- #define FOR(i,A) for(typeof A.begin() i = A.begin() ; i != A.end() ; i++)
- #define all( v ) v.begin() , v.end()
- #define rall( v ) v.rbegin() , v.rend()
- #define clr( x , y ) memset( x , y , sizeof x )
- #define mp make_pair
- #define debug(x) cout << #x << " = " << x << endl
- #define TAM 10010
- using namespace std ;
- typedef pair<int,int> ii ;
- typedef pair<int,ii> pii ;
- typedef long long ll ;
- int n ;
- vector<int> division[ TAM ] ;
- void init(){
- for(int i = 0 ; i < n ; i++) division[ i ].clear() ;
- }
- int main(){
- int a , m ;
- while( scanf("%d" , &n ) == 1 ){
- if( !n ) break ;
- init() ;
- for(int i = 0 ; i < n ; i++){
- scanf("%d" , &m ) ;
- for(int j = 0 ; j < m ; j++){
- scanf("%d" , &a ) ;
- division[ i ].push_back( a ) ;
- }
- sort( all( division[ i ] ) ) ;
- }
- int resp = 1<<30 ;
- for(int t = 1 ; t <= 1000 ; t++){
- int dif = 0 ;
- for(int j = 0 ; j < n ; j++){
- int pos = lower_bound( all( division[ j ] ) , t ) - division[ j ].begin() ;
- dif += abs( (int)( pos - division[ j ].size() + pos ) ) ;
- }
- resp = min( resp , dif ) ;
- }
- // debug( resp ) ;
- printf("%d\n" , resp ) ;
- }
- return 0 ;
- }
Add Comment
Please, Sign In to add comment