用的 c++11 / c++17 O2 编译都过不去,不开 O2 编译也过不去,提示卡常火车头编译错误= =
卡常火车头代码 P2709
#define fastcall __attribute__((optimize("-O3")))
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ld;
#define IL inline
#define fi first
#define se second
#define mk make_pair
#define pb push_back
#define SZ(x) (int)(x).size()
#define ALL(x) (x).begin(), (x).end()
#define dbg1(x) cout << #x << " = " << x << ", "
#define dbg2(x) cout << #x << " = " << x << endl
template<typename Tp> IL void read(Tp &x) {
x=0; int f=1; char ch=getchar();
while(!isdigit(ch)) {if(ch == '-') f=-1; ch=getchar();}
while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
x *= f;
}
int buf[42];
template<typename Tp> IL void write(Tp x) {
int p = 0;
if(x < 0) { putchar('-'); x=-x;}
if(x == 0) { putchar('0'); return;}
while(x) {
buf[++p] = x % 10;
x /= 10;
}
for(int i=p;i;i--) putchar('0' + buf[i]);
}
const int N = 50000 + 5;
struct ASK {
int l, r, id, pos;
ASK(int l=0, int r=0, int id=0, int pos=0):l(l),r(r),id(id),pos(pos) {}
};
int n, m, K, blocksz = 0;
ll cur=0;
int a[N], cnt[N];
ll ans[N];
ASK ask[N];
IL void add(int x) {
cur += cnt[a[x]] * 2 + 1;
cnt[a[x]]++;
}
IL void del(int x) {
cnt[a[x]]--;
cur -= cnt[a[x]] * 2 + 1;
}
int main() {
#ifdef LOCAL
freopen("test.in", "r", stdin);
// freopen("test.out", "w", stdout);
#endif
read(n); read(m); read(K);
for(int i=1;i<=n;i++) read(a[i]);
blocksz = ceil(1.0 * n / sqrt(m));
for(int i=1;i<=m;i++) {
int l, r; read(l); read(r);
ask[i] = ASK(l, r, i, (l - 1) / blocksz + 1);
}
sort(ask+1, ask+1+m, [](ASK x, ASK y) {
return x.pos ^ y.pos ? x.pos < y.pos : x.pos & 1 ? x.r < y.r : x.r > y.r;
});
for(int i=1, l=1, r=0;i<=m;i++) {
while(l > ask[i].l) add(--l);
while(r < ask[i].r) add(++r);
while(l < ask[i].l) del(l++);
while(r > ask[i].r) del(r--);
ans[ask[i].id] = cur;
}
for(int i=1;i<=m;i++) {
write(ans[i]); putchar(10);
}
return 0;
}
编译提示
/tmp/compiler_yw8z8zql/src:2:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize(2)
^~~
/tmp/compiler_yw8z8zql/src:3:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize(3)
^~~
/tmp/compiler_yw8z8zql/src:4:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("Ofast")
^~~
/tmp/compiler_yw8z8zql/src:5:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("inline")
^~~
/tmp/compiler_yw8z8zql/src:6:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fgcse")
^~~
/tmp/compiler_yw8z8zql/src:7:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fgcse-lm")
^~~
/tmp/compiler_yw8z8zql/src:8:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fipa-sra")
^~~
/tmp/compiler_yw8z8zql/src:9:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-ftree-pre")
^~~
/tmp/compiler_yw8z8zql/src:10:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-ftree-vrp")
^~~
/tmp/compiler_yw8z8zql/src:11:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fpeephole2")
^~~
/tmp/compiler_yw8z8zql/src:12:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-ffast-math")
^~~
/tmp/compiler_yw8z8zql/src:13:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fsched-spec")
^~~
/tmp/compiler_yw8z8zql/src:14:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("unroll-loops")
^~~
/tmp/compiler_yw8z8zql/src:15:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-falign-jumps")
^~~
/tmp/compiler_yw8z8zql/src:16:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-falign-loops")
^~~
/tmp/compiler_yw8z8zql/src:17:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-falign-labels")
^~~
/tmp/compiler_yw8z8zql/src:18:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fdevirtualize")
^~~
/tmp/compiler_yw8z8zql/src:19:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fcaller-saves")
^~~
/tmp/compiler_yw8z8zql/src:20:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fcrossjumping")
^~~
/tmp/compiler_yw8z8zql/src:21:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fthread-jumps")
^~~
/tmp/compiler_yw8z8zql/src:22:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-funroll-loops")
^~~
/tmp/compiler_yw8z8zql/src:23:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-freorder-blocks")
^~~
/tmp/compiler_yw8z8zql/src:24:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fschedule-insns")
^~~
/tmp/compiler_yw8z8zql/src:25:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("inline-functions")
^~~
/tmp/compiler_yw8z8zql/src:26:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-ftree-tail-merge")
^~~
/tmp/compiler_yw8z8zql/src:27:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fschedule-insns2")
^~~
/tmp/compiler_yw8z8zql/src:28:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fstrict-aliasing")
^~~
/tmp/compiler_yw8z8zql/src:29:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-falign-functions")
^~~
/tmp/compiler_yw8z8zql/src:30:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fcse-follow-jumps")
^~~
/tmp/compiler_yw8z8zql/src:31:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fsched-interblock")
^~~
/tmp/compiler_yw8z8zql/src:32:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fpartial-inlining")
^~~
/tmp/compiler_yw8z8zql/src:33:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("no-stack-protector")
^~~
/tmp/compiler_yw8z8zql/src:34:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-freorder-functions")
^~~
/tmp/compiler_yw8z8zql/src:35:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-findirect-inlining")
^~~
/tmp/compiler_yw8z8zql/src:36:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fhoist-adjacent-loads")
^~~
/tmp/compiler_yw8z8zql/src:37:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-frerun-cse-after-loop")
^~~
/tmp/compiler_yw8z8zql/src:38:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("inline-small-functions")
^~~
/tmp/compiler_yw8z8zql/src:39:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-finline-small-functions")
^~~
/tmp/compiler_yw8z8zql/src:40:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-ftree-switch-conversion")
^~~
/tmp/compiler_yw8z8zql/src:41:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-foptimize-sibling-calls")
^~~
/tmp/compiler_yw8z8zql/src:42:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fexpensive-optimizations")
^~~
/tmp/compiler_yw8z8zql/src:43:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("inline-functions-called-once")
^~~
/tmp/compiler_yw8z8zql/src:44:9: 错误:‘#pragma GCC optimize’ is not allowed in online judge mode
#pragma GCC optimize("-fdelete-null-pointer-checks")
^~~