Main.cpp: In function 'int main()':
Main.cpp:57:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | #define frp(x) for(int p = 0; p < x; ++p)
| ~~^~~~~~~~~
58 | #define frr(a, b) for(int i = a; i < b; ++i)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 | #define frrj(a, b) for(int j = a; j < b; ++j)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 | #define fra(x) for(int i = 0; i < x; ++i) cin >> a[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 | #define frb(x) for(int i = 0; i < x; ++i) cin >> b[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 | #define frs(x) for(auto it = x.begin(); it != x.end(); ++it)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 | #define fr(x) for(auto it : x) //el
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | #define fastio ios_base::sync_with_stdio(false); cin.tie(0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | #define dbg(x) cerr << #x << ": " << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 | #define ce(x) cout << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 | #define uniq(x) x.resize(unique(all(x)) - x.begin()); //make all one after sorting
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | #define blt __builtin_popcount
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | /////////////////////print array, vector, deque, set, multiset, pair, map /////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | void print(long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | void print(int t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | void print(string t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | void print(char t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 | void print(double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 | void print(long double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 | void print(unsigned long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77 | template <class T, class V> void print(pair <T, V> p) {cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}";}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | template <class T, class V> void print(T v[],V n) {cerr << "["; for(int i = 0; i < n; i++) {print(v[i]); cerr << " "; } cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 | template <class T> void print(vector <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 | template <class T> void print(set <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81 | template <class T> void print(multiset <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82 | template <class T> void print(stack <T> v) {cerr << "[ "; stack<T> s = v; while(s.size()) {T i = s.top(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83 | template <class T> void print(queue <T> v) {cerr << "[ "; queue<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84 | template <class T> void print(deque <T> v) {cerr << "[ "; deque<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop_front(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 | template <class T, class V> void print(map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | template <class T, class V> void print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 | /////////////////////code/////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88 | int a[200005], pref[200005], cnt[200005], ma[200005], sq = 440;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 |
|
90 | int main() {
| ~~~~~~~~~~~~
91 | fastio;
| ~~~~~~~
92 | int n; cin >> n; fra(n)
| ~~~~~~~~~~~~~~~~~~~~~~~
93 | vi comp; fri(n) comp.pb(a[i]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
94 | sort(all(comp)); uniq(comp);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95 | fri(n) {
| ~~~~~~~~
96 | a[i] = lb(all(comp), a[i]) - comp.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97 | ma[a[i]]++;
| ~~~~~~~~~~~
98 | }
| ~
99 | ll ans = 0;
| ~~~~~~~~~~~
100 | frp(comp.size()) {
| ~~~~~~~~~~~~~~~
Main.cpp:100:5: note: in expansion of macro 'frp'
100 | frp(comp.size()) {
| ^~~
Main.cpp:57:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | #define frp(x) for(int p = 0; p < x; ++p)
| ~~^~~~~~~~~
58 | #define frr(a, b) for(int i = a; i < b; ++i)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 | #define frrj(a, b) for(int j = a; j < b; ++j)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 | #define fra(x) for(int i = 0; i < x; ++i) cin >> a[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 | #define frb(x) for(int i = 0; i < x; ++i) cin >> b[i];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 | #define frs(x) for(auto it = x.begin(); it != x.end(); ++it)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 | #define fr(x) for(auto it : x) //el
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | #define fastio ios_base::sync_with_stdio(false); cin.tie(0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | #define dbg(x) cerr << #x << ": " << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 | #define ce(x) cout << x << endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67 | #define uniq(x) x.resize(unique(all(x)) - x.begin()); //make all one after sorting
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | #define blt __builtin_popcount
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 | /////////////////////print array, vector, deque, set, multiset, pair, map /////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70 | void print(long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | void print(int t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | void print(string t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | void print(char t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 | void print(double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 | void print(long double t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 | void print(unsigned long long t) {cerr << t;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77 | template <class T, class V> void print(pair <T, V> p) {cerr << "{"; print(p.first); cerr << ","; print(p.second); cerr << "}";}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 | template <class T, class V> void print(T v[],V n) {cerr << "["; for(int i = 0; i < n; i++) {print(v[i]); cerr << " "; } cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 | template <class T> void print(vector <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 | template <class T> void print(set <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81 | template <class T> void print(multiset <T> v) {cerr << "[ "; for (T i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82 | template <class T> void print(stack <T> v) {cerr << "[ "; stack<T> s = v; while(s.size()) {T i = s.top(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83 | template <class T> void print(queue <T> v) {cerr << "[ "; queue<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84 | template <class T> void print(deque <T> v) {cerr << "[ "; deque<T> s = v; while(s.size()) {T i = s.front(); print(i); s.pop_front(); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85 | template <class T, class V> void print(map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | template <class T, class V> void print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {print(i); cerr << " ";} cerr << "]"; cout << endl;}
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87 | /////////////////////code/////////////////////
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88 | int a[200005], pref[200005], cnt[200005], ma[200005], sq = 440;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 |
|
90 | int main() {
| ~~~~~~~~~~~~
91 | fastio;
| ~~~~~~~
92 | int n; cin >> n; fra(n)
| ~~~~~~~~~~~~~~~~~~~~~~~
93 | vi comp; fri(n) comp.pb(a[i]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
94 | sort(all(comp)); uniq(comp);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
95 | fri(n) {
| ~~~~~~~~
96 | a[i] = lb(all(comp), a[i]) - comp.begin();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97 | ma[a[i]]++;
| ~~~~~~~~~~~
98 | }
| ~
99 | ll ans = 0;
| ~~~~~~~~~~~
100 | frp(comp.size()) {
| ~~~~~~~~~~~~~~~~~~
101 | if(ma[p] <= sq)
| ~~~~~~~~~~~~~~~
102 | ans += ma[p];
| ~~~~~~~~~~~~~
103 | }
| ~
104 | //max hajordakan sq hat => mijakayqy 2sq erkarutyan lini => amen mijakayq nayenq dra keterov sksox =>n armat logn
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | fri(n) { //amen mijakayqy 2sq hatov gnanq
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | cnt[a[i]]++;
| ~~~~~~~~~~~~
107 | int maxi=a[i];
| ~~~~~~~~~~~~~~
108 | int lim = min(n, i+2*sq+1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
109 | frrj(i + 1, lim) {
| ~~~~~~~~~~~~~~~~~~
110 | cnt[a[j]]++;
| ~~~~~~~~~~~~
111 | if(cnt[a[j]] > cnt[maxi]) maxi = a[j];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
112 | if(cnt[maxi] > (j-i+1)/2 && (ma[maxi] <= sq))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 | ans++;
| ~~~~~~
114 | }
| ~
115 | cnt[a[i]] = 0; frrj(i + 1, lim) cnt[a[j]] = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116 | }
| ~
117 | frp(comp.size()) {
| ~~~~~~~~~~~~~~~
Main.cpp:117:5: note: in expansion of macro 'frp'
117 | frp(comp.size()) {
| ^~~