Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAXN 10005
- #define MAXC 256
- int n;
- int c[MAXN];
- int s[MAXC][MAXN];
- int main()
- {
- freopen( "input.txt", "rt", stdin );
- freopen( "output.txt", "wt", stdout );
- int k;
- scanf( "%d %d", &n, &k );
- int minc = 256, maxc = 0;
- for( int i = 0; i < n; ++ i )
- {
- scanf( "%d", &c[i] );
- if( c[i] < minc )
- minc = c[i];
- if( c[i] > maxc )
- maxc = c[i];
- }
- for( int z = minc; z <=maxc; ++ z )
- {
- int sum = 0;
- for( int i = 0; i < n; ++ i )
- {
- if( c[i] == z )
- ++sum;
- s[z][i] = sum;
- }
- }
- for( int q = 0; q < k; ++ q )
- {
- int l, r;
- scanf( "%d %d", &l, &r );
- --l; --r;
- int cnt = 0;
- for( int z = minc; z <= maxc; ++ z )
- {
- int sum = s[z][r];
- if( l > 0 )
- sum -= s[z][l-1];
- if( sum > 0 )
- ++cnt;
- }
- printf( "%d\n", cnt );
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement