codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> using namespace std; int a[317*317], n, m, b[317], i; int main() { cin >> n; int q = 1e9; for(;i<n;++i) { cin>>a[i]; q = min(q,a[i]); if((i+1)%317==0) { b[i/317]=q; q=1e9; } } if( q!=1e9 ) b[n/317]=q; m = n/317; for(i=0;i<n;++i) { int j, p = i; for(j = m; j > i/317; --j) if( b[j] < a[i] ) break; for(int k=max(i,j*317); k < min(n,(j+1)*317); ++k) if( a[k] < a[i] ) p = k; cout << p-i-1 << ' '; } return 0; }
Private
[
?
]
Run code
Submit