Pagini recente » Cod sursa (job #1579364) | Cod sursa (job #193563) | Cod sursa (job #1507663) | Cod sursa (job #2570283) | Cod sursa (job #1519908)
/**
* Code by Patrick Sava
* "Spiru Haret" National College of Bucharest
**/
# include "fstream"
# include "cstring"
# include "vector"
# include "queue"
# include "bitset"
# include "algorithm"
# include "map"
# include "set"
# include "unordered_map"
# include "deque"
# include "string"
# include "iomanip"
# include "cmath"
# include "stack"
# include "cassert"
const char IN [ ] = "zeap.in" ;
const char OUT [ ] = "zeap.out" ;
# define pb push_back
# define mp make_pair
# define FORN( a , b , c ) for ( int a = b ; a <= c ; ++ a )
# define FORNBACK( a , b , c ) for ( int a = b ; a >= c ; -- a )
using namespace std ;
const int MAX = 2e5 + 14 ;
ifstream cin ( IN ) ;
ofstream cout ( OUT ) ;
vector < int > v ;
int main()
{
int n = 0 ;
string s ;
while ( cin >> s )
{
if ( s == "I" )
{
int x , found = 0 ;
cin >> x ;
for ( auto y : v )
if ( y == x ) {
found = 1 ;
}
if ( !found ){
v.push_back( x ) ;
++ n ;
}
}
else if ( s == "S" )
{
int x , found = 0 ;
cin >> x ;
int cate = -1 ;
for ( auto y : v ){
++ cate ;
if ( y == x ) {
found = cate ;
}
}
if ( ! found ) cout << -1 << '\n' ;
else {
v.erase ( v.begin ( ) + found ) ;
-- n ;
}
}
else if ( s == "C" )
{
int x , found = 0 ;
cin >> x ;
for ( auto y : v )
if ( y == x ) {
found = 1 ;
}
cout << found << '\n' ;
}
else if ( s == "MIN" )
{
int mindif = 1 << 30 ;
int i = 0 ;
for ( auto x : v ){
int j = 0 ;
++ i ;
for ( auto y : v ){
++ j ;
if ( i != j )
mindif = min ( abs ( x - y ) , mindif ) ;
}
}
if ( n >= 2 )
cout << mindif << '\n' ;
else cout << -1 << '\n' ;
}
else
{
sort ( v.begin ( ) , v.end ( ) ) ;
vector < int > :: iterator a = v.begin() ;
vector < int > :: iterator b = v.end() ;
-- b ;
if ( n >= 2 )
cout << *b - *a << '\n' ;
else cout << -1 << '\n' ;
}
/*cout << "DEBUG1\n" ;
for ( auto x : v )
cout << x << ' ' ;
cout << '\n' ;
cout << "DEBUG2\n" ;*/
}
return 0;
}