#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
const int INF=1000000009;
string a,res;
int x,l,r,n;
int main()
{
//freopen("in.txt","r",stdin);
cin>>n;
l=-INF,r=INF;
while(n--)
{
cin>>a>>x>>res;
if(a==">")
{
if(res=="Y"&&l<x+1)l=x+1;
else if(res=="N"&&r>x)r=x;
}
else if(a=="<")
{
if(res=="Y"&&r>x-1)r=x-1;
else if(res=="N"&&l<x)l=x;
}
else if(a==">=")
{
if(res=="Y"&&l<x)l=x;
else if(res=="N"&&r>x-1)r=x-1;
}
else
{
if(res=="Y"&&r>x)r=x;
else if(res=="N"&&l<x+1)l=x+1;
}
}
if(l>r){cout<<"Impossible"<<endl;}
else cout<<l<<endl;
return 0;
}
B - Art Union
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int t[5] = {0}, last[5] = {0};
int main()
{
int m, n;
scanf("%d%d", &m, &n);
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
scanf("%d", &t[j]);
if(j == 0) last[j] += t[j];
else last[j] = max(last[j - 1], last[j]) + t[j];
}
printf("%d%c", last[n - 1], i == m - 1 ? '\n' : ' ');
}
return 0;
}