Advertisement
Guest User

Untitled

a guest
May 4th, 2016
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define sf scanf
  4. #define pf printf
  5. #define pb push_back
  6. #define mp make_pair
  7. #define PI ( acos(-1.0) )
  8. #define mod 1000000007
  9. #define maxn 200005
  10. #define DBG pf("Hi\n")
  11. #define loop(i,n) for(i=1 ; i<=n ; i++)
  12.  
  13. using namespace std ;
  14.  
  15. typedef long long int i64 ;
  16.  
  17. int n , l , a[maxn] , b[1000][1000] , sum[1000][1000] ;
  18. int sz[1000] , bl[maxn] , st[1000] , en[1000] , pos[1000][1000] ;
  19.  
  20. void upd(int blk, int idx, int val)
  21. {
  22. while(idx<=sz[blk])
  23. {
  24. sum[blk][idx] += val ;
  25. idx += idx&(-idx) ;
  26. }
  27. return ;
  28. }
  29. int query( int blk , int idx )
  30. {
  31. int ret=0 ;
  32. while(idx>0)
  33. {
  34. ret += sum[blk][idx] ;
  35. idx -= (idx&(-idx)) ;
  36. }
  37. return ret ;
  38. }
  39.  
  40. void init()
  41. {
  42.  
  43. int i , j , k , len ;
  44.  
  45. len = sqrt(n) ;
  46. memset(sz,0,sizeof(sz)) ;
  47.  
  48. for(i=0 ; i<n ; i++)
  49. {
  50. j = i/len ;
  51. sz[j]++ ;
  52. b[ sz[j] ] = a[i] ;
  53. bl[i] = j ;
  54. }
  55. l = (n-1)/len ;
  56.  
  57. for(i=0 ; i<=l ; i++)
  58. {
  59. sort(b+1,b+sz[i]+1) ;
  60. for(j=1 ; j<=sz[i] ; j++) pos[ b[j] ] = j ;
  61. upd( blk,idx,1 ) ;
  62. }
  63.  
  64. return ;
  65. }
  66.  
  67. int main()
  68. {
  69. int i , j , k , l , m ;
  70.  
  71. while(sf("%d %d",&n,&m))
  72. {
  73. for( i=1 ; i<=n ; i++ ) sf("%d",&a[i]) ;
  74.  
  75. init() ;
  76.  
  77. for(i=1 ; i<=m ; i++)
  78. {
  79.  
  80. }
  81.  
  82.  
  83. }
  84.  
  85.  
  86. return 0 ;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement