NonWhite

Live Archive 4482

Jul 12th, 2012
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <cstring>
  5. #include <vector>
  6. #include <set>
  7. #include <map>
  8. #include <algorithm>
  9. #include <cstdlib>
  10. #define FOR(i,A) for(typeof A.begin() i = A.begin() ; i != A.end() ; i++)
  11. #define all( v ) v.begin() , v.end()
  12. #define rall( v ) v.rbegin() , v.rend()
  13. #define clr( x , y ) memset( x , y , sizeof x )
  14. #define mp make_pair
  15. #define debug(x) cout << #x << " = " << x << endl
  16. #define TAM 10010
  17.  
  18. using namespace std ;
  19.  
  20. typedef pair<int,int> ii ;
  21. typedef pair<int,ii> pii ;
  22. typedef long long ll ;
  23.  
  24. int n ;
  25. vector<int> division[ TAM ] ;
  26.  
  27. void init(){
  28.     for(int i = 0 ; i < n ; i++) division[ i ].clear() ;
  29. }
  30.  
  31. int main(){
  32.  
  33.     int a , m ;
  34.     while( scanf("%d" , &n ) == 1 ){
  35.         if( !n ) break ;
  36.         init() ;
  37.         for(int i = 0 ; i < n ; i++){
  38.             scanf("%d" , &m ) ;
  39.             for(int j = 0 ; j < m ; j++){
  40.                 scanf("%d" , &a ) ;
  41.                 division[ i ].push_back( a ) ;
  42.             }
  43.             sort( all( division[ i ] ) ) ;
  44.         }
  45.  
  46.         int resp = 1<<30 ;
  47.         for(int t = 1 ; t <= 1000 ; t++){
  48.             int dif = 0 ;
  49.             for(int j = 0 ; j < n ; j++){
  50.                 int pos = lower_bound( all( division[ j ] ) , t ) - division[ j ].begin() ;
  51.                 dif += abs( (int)( pos - division[ j ].size() + pos ) ) ;
  52.             }
  53.             resp = min( resp , dif ) ;
  54.         }
  55. //        debug( resp ) ;
  56.         printf("%d\n" , resp ) ;
  57.     }
  58.     return 0 ;
  59. }
Add Comment
Please, Sign In to add comment