```cpp
#include<cstdio>
#include <sys/time.h>
#include<ctime>
const int MAXN = 1e5 + 5;
int A[MAXN];
int N = 3e4;
struct timeval timeStart, timeEnd, timeSystemStart;
#define min(x,y) (x<y?x:y)
void solve1() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
#undef min
#include <bits/stdc++.h>
void solve2() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (std::min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
inline int min(int x, int y) { return x < y ? x : y; }
void solve3() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
int main() {
srand((unsigned long long)(new char));
for (int i = 1; i <= N; ++i) {
A[i] = rand();
}
solve1();
solve2();
solve3();
return 0;
}
```
```
runTime is 1551777579.900354
runTime is 1551777590.225945
runTime is 1551777601.219573
----------------------------------------
runTime is 1551777594.028162
runTime is 1551777609.060022
runTime is 1551777620.758691
```
事实证明,`#define`最快
by 隔壁的张栩嘉 @ 2019-03-05 17:21:43
@[Skqliao](/space/show?uid=38018)
```
#include<cstdio>
#include <sys/time.h>
#include<ctime>
const int MAXN = 1e5 + 5;
int A[MAXN];
int N = 3e4;
struct timeval timeStart, timeEnd, timeSystemStart;
#define min(x,y) (x<y?x:y)
void solve1() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
#undef min
#include <bits/stdc++.h>
void solve2() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (std::min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
inline int min(int x, int y) { return x < y ? x : y; }
void solve3() {
gettimeofday(&timeSystemStart, NULL);
int res = 0;
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {
if (min(A[i], A[j]) == A[i])
++res;
}
}
gettimeofday(&timeEnd, NULL);
double runTime = (timeEnd.tv_sec - timeStart.tv_sec) +
(double)(timeEnd.tv_usec - timeStart.tv_usec) / 1000000;
printf("runTime is %lf\n", runTime);
}
int main() {
srand((unsigned long long)(new char));
for (int i = 1; i <= N; ++i) {
A[i] = rand();
}
solve1();
solve2();
solve3();
return 0;
}
```
```
runTime is 1551777579.900354
runTime is 1551777590.225945
runTime is 1551777601.219573
----------------------------------------
runTime is 1551777594.028162
runTime is 1551777609.060022
runTime is 1551777620.758691
```
大家别吵了,事实证明,#define最快
by 隔壁的张栩嘉 @ 2019-03-05 17:24:08
@[Skqliao](/space/show?uid=38018) 我在本地跑,哪来的O2?不好意思,因为强迫症,我也早就存过测常数的模板
![](https://pic.dark.moe/images/2019/03/05/2876284a7a5e1b5c987c40e32953ef9e.png)
![](https://pic.dark.moe/images/2019/03/05/dbaa9d84aaaf9a5dfb10306b2671adf0.png)
by ArachnidaQueen @ 2019-03-05 17:25:51
@[隔壁的张栩嘉](/space/show?uid=125911) 不一定哦·^v·^第一组是三目运算符,第二组是if()else2333
![](https://pic.dark.moe/images/2019/03/05/60644e5ba97a3179cd3e88f0f0597573.png)
by ArachnidaQueen @ 2019-03-05 17:30:07
@[ArachnidaQueen](/space/show?uid=157671) 说不定直接三目运算符会比`#define`快
by 隔壁的张栩嘉 @ 2019-03-05 17:35:23
@[ArachnidaQueen](/space/show?uid=157671) 求求你了,用clock()这么不准而且精度极低的函数计算运行时间,自己玩玩测个大概几秒也就罢了,就别好意思提自己在测常数了。
by SeKong @ 2019-03-05 19:33:14
@[隔壁的张栩嘉](/space/show?uid=125911) 快多少,一亿分之一?这叫快吗,随意扰动一下就不止1‰的浮动。
by SeKong @ 2019-03-05 19:36:19
@[Skqliao](/space/show?uid=38018) 既然这样那你觉得怎么样最快?
by 隔壁的张栩嘉 @ 2019-03-06 12:39:04