Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //решение
- Можно заметить, что нет смысла располагать окно так, чтобы оно не касалось битого пикселя — в таком случае его можно расширить.
- Есть четыре возможных способа расположить окно вплотную к битому пикселю — можно расположить его под, над, слева или справа от битого пикселя.
- если расположить окно слева от пикселя, максимальный размер будет равен x⋅b;
- если расположить окно слева от пикселя, максимальный размер будет равен (a−1−x)⋅b;
- если расположить окно слева от пикселя, максимальный размер будет равен a⋅y;
- если расположить окно слева от пикселя, максимальный размер будет равен a⋅(b−1−y).
- Эти четыре случая можно объединить одной формулой вида max(max(x,a−1−x)⋅b,a⋅max(y,b−1−y)).
- //реализация
- #include <iostream>
- #include <cmath>
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- long long i, j, n;
- long long t, inp, sum = 0, a,b,x,y;
- cin>>t;
- while(t--)
- {
- cin>>a>>b>>x>>y;
- cout<<max(max(x,(a-(x+1)))*b,max(y,(b-(y+1)))*a)<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment