F: 985的红绿灯难题
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 208 Solved: 129
Submit Status Web Board
Description
已知红、绿、黄灯各持续r、g、y秒,985发现此时灯刚刚变绿,他想知道x秒后灯是什么颜色。
Input
第一行输入一个整数t,代表有t组测试数据。
每组数据输入四个整数x,g,y,r。
注:1 <= t <= 30,1 <= x,g,r,y <= 1e9。
Output
若x秒后变成红色输出R,变成绿色输出G,反之输出Y。
Sample Input
35 5 2 87 5 2 816 5 2 8
Sample Output
YRG
HINT
红绿灯顺序:绿->黄->红->绿
没看到提示 wa到哭=.=;
没看到提示 wa到哭=.=;
#include<stdio.h>
#include<string.h>
using namespace std;
struct node
{
int a,p,val;
}num[1010];
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&num[i].a,&num[i].p);
num[i].val=num[i].a*num[i].p;
}
long long sum=num[0].val;
int k=1;
for(int i=1;i<n;i++)
{
if(num[i].p>num[i-1].p)
num[i].p=num[i-1].p;
sum+=num[i].a*num[i].p;
}
printf("%lld\n",sum);
}
return 0;
}