这道题3个全TLE,求大佬优化
  • 板块学术版
  • 楼主juchenglin
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/4/29 14:16
  • 上次更新2023/10/23 17:16:23
查看原帖
这道题3个全TLE,求大佬优化
580868
juchenglin楼主2023/4/29 14:16

这是我的代码,题目在下面!

#include<iostream>
using namespace std;
int dp[100020];
int main()
{
    ios::sync_with_stdio(false);
    cout.tie(NULL);
	int t=0,n=0,l1=0,r1=0,l2=0,r2=0,q=0;
	cin>>t;
	for(int i=0;i<t;i++)
	{
		cin>>n;
		for(int j=0;j<n;j++)
		{
			cin>>l1>>r1>>l2>>r2;
			q=0;
			for(int z=l1;z<r1;z++)
			{
				for(int x=l2;x<r2;x++)
				{
					if(z+x==n)
					{
						q++;
					}
				}
			}
		}
		cout<<q<<endl;
	}
	return 0;
}

题目如下:

A + B Problem (EASY)

题目背景

周老板有两个神奇的次元袋,里面能放下无限的东西。

题目描述

周老板的记性不是很好,他只记得第一个次元袋中有 L1L_1 ~ R1R_1 个苹果,第二个次元袋中有 L2L_2 ~ R2R_2 个苹果。

周老板想知道,如果他记得范围没有错误的话,一共有多少种可能的情况,可以使得两个次元袋中的苹果总数为 nn。

例如:第一个袋中有 33 ~ 55 个苹果,第二个袋中有 11 ~ 44 个苹果,最终要凑出的苹果总数为 55。一共有两种情况可以满足要求,分别是和 4+14+1 和 3+23+2。

另外需要注意的是,如果第一个袋中有 22 ~ 55 个苹果,第二个袋中有 22 ~ 33 个苹果,最终要凑出的苹果总数为 55。一共有两种情况可以满足要求,分别是和 2+32+3 和 3+23+2。

输入格式

输入的第一行,包含一个整数T,表示测试数据组数。

对于每组测试数据,第一行包含一个整数 nn,第二行包含两个整数 L1,R1L_1, R_1,第三行包含两个整数 L2,R2L_2, R_2。

输出格式

对于每组测试数据,输出单独一行一个整数表示答案。

样例 #1

样例输入 #1

4
5
3 5
1 4
100000
1 100000
1 100000
200000
1 100000
1 100000
114
514 1919
8 10

样例输出 #1

2
99999
1
0

提示

1≤T≤51 \leq T \leq 5

1≤n≤2∗1051 \leq n \leq 2*10^5

1≤L1≤R1≤1051 \leq L_1 \leq R_1 \leq 10^5

1≤L2≤R2≤1051 \leq L_2 \leq R_2 \leq 10^5

2023/4/29 14:16
加载中...