求类似二元一次方程组问题

x+y=5
令3x+2y<15
求x最大值
这个用C语言怎么解啊

x,y都是非负整数吗?

#include<stdio.h>
int main(){
    int x,y;
    for(x=5;x>=0;x--){
        y=5-x;
        if(3*x+2*y<15){
            printf("%d",x);
            break;
        }
    }
    return 0;
}

用循环,x每次多一,然后用3x+2y小于15作为循环跳出条件,然后跳出之后x减一,内部设置flag保存满足x+y = 5的正确变量