제출 #51767

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
517672018-06-21 04:53:07model_codeEmployment (JOI16_employment)C++17
100 / 100
426 ms9248 KiB
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
class BIT{
private:
vector<int> dat;
int size;
public:
void init( int n ){
size = 1;
while( size < n ) size *= 2;
dat = vector<int>( size , 0 );
}
void add( int k , int v ){
for( int i = k+1; i <= size; i += i & -i ) dat[i-1] += v;
}
int sum( int k ){ // [ 0 , k ]
int res = 0;
for( int i = k+1; i > 0; i -= i & -i ) res += dat[i-1];
return res;
}
};
vector<int> compress( vector<int> compress_array ){
vector<int> ord = compress_array, res(0);
sort( ord.begin() , ord.end() );
ord.erase( unique( ord.begin() , ord.end() ) , ord.end() );
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

컴파일 시 표준 에러 (stderr) 메시지

employment.cpp: In function 'std::vector<int> compress(std::vector<int>)':
employment.cpp:31:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for( int i = 0; i < compress_array.size(); i++ ) res.push_back( lower_bound( ord.begin() , ord.end() , compress_array[i] ) - ord.begin() );
                   ~~^~~~~~~~~~~~~~~~~~~~~~~
employment.cpp: In function 'int main()':
employment.cpp:75:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf( "%d %d" , &n , &m );
   ~~~~~^~~~~~~~~~~~~~~~~~~~~
employment.cpp:78:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   for( int i = 0; i < n; i++ ) scanf( "%d" , &vals[i] );
                                ~~~~~^~~~~~~~~~~~~~~~~~~
employment.cpp:80:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf( "%d" , &type[i] );
     ~~~~~^~~~~~~~~~~~~~~~~~~
employment.cpp:82:12: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       scanf( "%d" , &vals[n+i] );
       ~~~~~^~~~~~~~~~~~~~~~~~~~~
employment.cpp:84:12: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       scanf( "%d %d" , &pos[i] , &vals[n+i] );
       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...