编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#84377 #1001. A. 神秘谜题 Time Limit Exceeded 0 2089 ms 888 K C++ 17 / 999 B Meguhine 2023-05-03 12:20:22
显示原始代码
// a test of immintrin-optimizition

#define __AVX__ 1
#define __AVX2__ 1

#pragma GCC target("avx2,bmi,fma,popcnt")
#include <bits/stdc++.h>
#include <immintrin.h>
using namespace std;

using vec = __m256i;
#define v32(x) _mm256_##x
const int maxn = 2e5;
alignas(32) int a[maxn];
int ptr = 0;

signed main() {
    ios::sync_with_stdio(0);
    int n;
    cin >> n;
    int ans = 0;
    vec tmp = v32(set1_epi32)(1);
    for (int i = 1; i <= n; ++i) {
        short mod;
        cin >> mod;
        if (mod == 1) {
            vec v1 = v32(set1_epi32)(0);
            int i = 0;
#pragma unroll 8
            for (; i < ptr - 8; i += 8) {
                vec v0 = v32(load_si256)((vec*)(a + i));
                v0 = v32(add_epi32)(v0, tmp);
                v1 = v32(xor_si256)(v0, v1);
                v32(store_si256)((vec*)(a + i), v0);
            }
            ans = 0;
            for (; i < ptr; ++i) {
                ++a[i];
                ans ^= a[i];
            }
            int* p = (int*)(&v1);
            for (int i = 0; i < 8; ++i) {
                ans ^= p[i];
            }
        } else {
            int x;
            cin >> x;
            a[ptr] = x;
            ++ptr;
            ans ^= x;
        }
        cout << ans << endl;
    }
    return 0;
}
子任务 #1
Time Limit Exceeded
得分:0
测试点 #1
Time Limit Exceeded
得分:0
用时:1041 ms
内存:888 KiB

输入文件(1.in

200000
2 526767110
2 724642759
2 567837900
2 104106873
2 357915481
2 33997211
2 444788944
2 
<1586974 bytes omitted>

答案文件(1.ans

526767110
877985729
361528077
330887284
116239149
82537142
510237286
843295274
453728745
55
<2188330 bytes omitted>

用户输出

526767110
877985729
361528077
330887284
116239149
82537142
510237286
843295274
453728745
559263713
323554710
713540578
520942594
<1954672 bytes omitted>
测试点 #2
Time Limit Exceeded
得分:0
用时:1048 ms
内存:828 KiB

输入文件(2.in

200000
2 515979308
2 512702340
2 684230440
2 488136957
2 598252313
2 283603971
2 349877373
2
<1586842 bytes omitted>

答案文件(2.ans

515979308
5115816
679905408
899606653
372667236
114362215
302756634
473674072
520218589
525
<2192841 bytes omitted>

用户输出

515979308
5115816
679905408
899606653
372667236
114362215
302756634
473674072
520218589
525056845
703148326
764590712
207056035

<1962103 bytes omitted>