UPD 1: Submitting a recording will be required in order to win (division top 3 or best female coder) prize. The format of the recording & rules are the same with AGC.
UPD 2: We've noticed that contest is unavailable in the X-Camp Contest System. We are investigating.
UPD 3: International contestants should also register at XinYouDui contest system.
UPD 4: You should submit your video file(or url) to [email protected].
2026 · The 8th Turing Cup Tournament
The Turing Cup is an invitational competition that is organized by one of the most successful informatics competition teams in China, the XinYouDui and partner with X-Camp Academy.
Timeline
| Event | Time (UTC+8) |
|---|---|
| Registration Time | Jun 18, 2026, 06:00 PM — Jul 30, 2026, 12:29 PM |
| Opening Ceremony | Jul 30, 2026, 07:50 AM — 08:30 AM |
| Contest Time | Jul 30, 2026, 08:30 AM — 12:30 PM |
Contest Details
Staff
- Writers: dXqwq, le0n, zhoukangyang, syx2567
- Human Testers: RockyYue, Eason_He, David_24, caidx233, JerrySyr, Mooos
- AI Testers: ChatGPT 5.6 Sol, Gemini 3.1 Pro
Features
- High Contest Quality: The contest problems will be set up by the XinYouDui from Hangzhou Xuejun High School, The problemset quality is ensured by IOI medalist and NOI medalist in China's national competitions.
- Real-time Contest Ranking: Besides the real-time rank list during the contest, the final international ranking will release a few minutes after the contest ends.
- International Contest: Compete with other top coding enthusiasts around the world, we have thousands of registered contestants from China, the US, Russia, Canada, and India.
Registration
- Method: XinYouDui contest system (Chrome/Firefox recommended)
- Requirements: No age/level restrictions
Divisions & Difficulty
- Novice group: The entry-level level of programming with basic language application and basic algorithms is recommended for beginners.
- Intermediate group: Have the ability to apply basic data structure and common algorithms to solve problems. Candidates with certain contest experience are recommended to participate.
- Advanced group: The ability to apply advanced data structure and algorithms to solve complex problems is recommended.
Rules
Program delivery uses standard I/O (stdin/stdout, no file operation required). The highest score of the previous submissions is the score of the problem. The time of submitting the program with the highest score for the first time is the time of the problem. After submitting the program, the system will quickly evaluate and feedback the evaluation score. The total score takes the highest score in previous evaluations as the final score, and the last program submission time that achieved the highest score for the first time as the total score. This ranking is the joint ranking of players from all over the world. When players have the same ranking results and scores, those with less time will be the top.
Award Eligibility & Rules
Age Requirements
- Novice Group: Winners must be born after January 1, 2014
- Intermediate Group: Winners must be born after January 1, 2012
- Advanced Group: No age restrictions
Participation Rules
- Each contestant can only win awards in one division (Novice/Intermediate/Advanced)
- If qualifying in multiple divisions:
- Higher-ranked award takes priority (e.g., 1st prize > 2nd prize)
- For equal rankings: Higher division award prevails
Award Categories
Division Champions
| Group | Prize | Quantity |
|---|---|---|
| Advanced | Huawei MateBook Pro | 1 |
| Intermediate | Huawei MatePad Pro | 1 |
| Novice | Huawei MatePad Air | 1 |
Division Runners-Up
| Group | Prize | Quantity |
|---|---|---|
| Advanced | Huawei MatePad Pro | 1 |
| Intermediate | Huawei MatePad Air | 1 |
| Novice | Huawei MatePad | 1 |
Third Place Awards
| Group | Prize | Quantity |
|---|---|---|
| Advanced | Huawei MatePad Air | 1 |
| Intermediate | Huawei Watch | 1 |
| Novice | Huawei Watch | 1 |
Special Awards
| Award Category | Prize | Quantity |
|---|---|---|
| Future Star | Xiaomi Smart Speaker | 3 (1/group) |
| Best Female Coder | Razer Wireless Mouse | 3 (1/group) |
| Fastest Problem Solver | ikbc Keyboard | 8 (1/problem) |
Certificates
- First Prize: Top 10% per group
- Second Prize: Top 20% per group
- Third Prize: Top 30% per group
- All winners receive electronic honor certificates
Organizers
XinYouDui
XinYouDui is a world-class competitive programming training organization founded by Xuejun High School’s International Olympiad in Informatics (IOI) Contest diamond-level coach Mr. Xianyou Xu, who has over 20+ years of teaching experience in competitive programming.
Since its inception, XinYouDui has won 7 world championships, 6 IOI gold medals, 4 ISIJ gold medals, 63 Asia-Pacific gold medals, 56 NOI gold medals, more than 770 first prize in the National Olympiad in Informatics in Provinces.More than 200 students have been admitted to Tsinghua University and Peking University, and many other students have been admitted to Harvard University, MIT, Stanford, Columbia and other international universities.Many of the students work in world-famous high-tech companies such as Google, Facebook, Microsoft, Baidu, etc.
X-Camp Academy
X-Camp Academy was founded in September 2017 in Silicon Valley by two Google software engineers , Yuan and Charlie. Over the past seven years, X-Camp has 53 students were selected in the US Camp and Canada Camp. Additionally, over 90 USACO contestants reached the platinum level, and over 450 reached the silver level or higher. X-Camp teaching team consists of seasoned engineers from major Silicon Valley tech companies and top-tier university CS students from MIT, Stanford, CMU, and UC Berkeley. They work closely with International Diamond-Level coach, aiming to help children become top-tier talents on a global scale.
X-Camp is a recommended coding institution by USACO.
Sponsor
Hundsun
Hundsun is a financial technology company with the mission of “Make Finance Easy”. Hundsun focuses on the financial industry and devotes itself to offering integrated solution and services to the institutions of securities, futures, funds, trust, insurance, banking, exchange and private placement. Hundsun has been listed to be top-100 Fintech 100 global financial IT enterprise for 16 consecutive years, ranking 22nd in 2023 and ranking first among Chinese companies on the list.









Testers: ChatGPT 5.6 Sol, Gemini 3.1 Pro, Claude Fable 5 xD
I literally LOLed when I read that. Crazy to think that its actually an entirely valid testing strategy.
Will there be any human assistance in testing because as of now, we can't rely on AI completely
How did the testers do?
Fun facts:
Problems are cool, GL&HF!
Can I be tester for novice group??
How to register for the Turing cup on the international website? Is the contest just not up yet?
Hi! Sorry for the inconvenience, this year we will move the platform to Xinyoudui only. The technical team is resolving the issue and you can register with your email in a few hours at Xinyoudui(and I will update the blog at that time).
Why can't I still use my email to register for the Turing cup on Xinyoudui?
As a someone, greatest testers of all time.
i'd like to congratulate aaa_pigeon2 for his role as a tester
Could you clarify the rules? For example, are participants allowed to use prewritten code/templates, google, or other external resources during the contest?
It is same with the current AGC Rule.
Hey! Can you add rust support? (I guess other people will also appreciate c++ 20/23 support)
I've reported to dev team, and hope we will support Rust in our next contest since we need some time to design the sandbox(I guess that the judger is based on UOJ, so fitting Rust might be hard)
If UOJ would add rust that would be very good
Why can’t I see the AI testers?
Definitely a weird experience to code throughout the night. (the timing wasn't favourable for Europe). But I enjoyed it a lot. The problems were very interesting, but also hard. In the end I just got as many subtask points as I could.
Thanks for the contest!
How to solve "Vengeful Spirit"? I tried to optimize O(n^2) DP but failed :(
Is your DP something like: let $$$f(i,s)$$$ denote the minimum cost to deal with the remaining monsters after processing the first $$$i-1$$$ monsters, with current points $$$s$$$? If so, the $$$\mathcal{O}(n^2)$$$ transition is essentially considering a maximal increasing segment at some position, and then transferring either from $$$i+1$$$ or from the end of that contiguous segment $$$r+1$$$, right? If that's the case, note that on one hand $$$f$$$ is non‑increasing with respect to $$$s$$$, and on the other hand, having one extra point can save at most one operation. We can adjust: if having one fewer point causes some overall flattening operation not to be triggered, then change the first monster killed in that operation to a single‑point kill; this costs at most one extra operation, and afterwards the points will not be fewer. Therefore the adjacent difference is $$$0/1$$$, meaning that for each $$$i$$$ we actually only need to store a constant and a set of breakpoints over the value domain. Each maximal increasing segment uses at most one flattening operation; suppose it covers $$$x$$$ adjacent edges, then it saves $$$x$$$ operations and consumes $$$x+2$$$. If two adjacent segments both use flattening, the maximum coverage of the latter segment is decreased by $$$1$$$. Hence, for a fixed state indicating whether the previous segment used flattening, the minimum remaining points as a function of the number of flattening operations is a discrete convex function, so between the two states there is at most one switch where one becomes better than the other. Then we can use a persistent FHQ‑Treap to maintain the slopes of the convex function, achieving $$$\mathcal{O}(n \log^2 n)$$$. My implementation runs very fast and passed directly.
Translated by Google, please point out any ambiguous or strange parts.
thank you very much :)
U r welcome awa.
Btw, there is a much easier solution (to implement at least), I think it probably stores about the same data internally, but uses a priority queue.
Basically you can look at the $$$O(n^2)$$$ dp and just see it as as bunch of "shortcuts" which jump a certain length $$$\geq 2$$$, and when you jump with $$$+1$$$ you can take one extra shortcut later. On a shortcut, you can also decide to "waste" a move and get an extra soul. If you waste moves along the entire shortcut, you get one more soul for free (as you're no longer doing any shortcut, so that $$$-1$$$ soul, becomes $$$+1$$$).
Crucially the shortcuts don't overlap, except maybe the second last and the last shortcut interval, which overlap by possibly $$$1$$$, where I try both options to which this shared position belongs to.
Now we do a greedy from left to right, when we encounter a shortcut, if we have enough souls to take it, we take it, but push its length to the priority queue.
Otherwise, we also push it to the priority queue, but then take the smallest shortcut from the priority queue, decrease it by one, and use this extra soul to pay for the new shortcut. We want the smallest such shortcut, as when a shortcut reaches one, we get one extra soul for free.
With some more work you can even optimize it to linear time (you do not need the priority queue).
With some more work you can even optimize it to linear time (you do not need the priority queue).
How?
Everytime you insert in the priority queue a shortcut of length $$$x$$$, you also skip over $$$x$$$ positions, so you can afford $$$O(x)$$$ work, which sums to linear overall. So instead of a priority queue you can just have a frequency array, and loop through the frequency array to find the minimum element.
I tried it following your approach, and it is indeed an excellent idea; mine was a bit more complicated. However, don't we need not only to maintain the coefficient sequence, but also to keep track of "which specific monotonic segment should be undone"? This is because segments with the same regret coefficient are not equivalent. For example, in the case of $$${1,3,2,5,4,6}$$$, two segments with a regret coefficient of $$$1$$$ will appear during processing. Undoing the latter one can yield $$$4$$$, while undoing the former will interfere with the latter and yield $$$5$$$. Therefore, is a lazy-deletion stack simulated by an array needed to determine which buckets are actually available?
I don't know exactly what you mean. I implemented my proposed linear time approach, and it worked:
I now understand your approach. My method leaves the effect of shared endpoints to be handled during the dynamic process, so after deleting segment $$$i$$$, I still need to extend segment $$$i+1$$$, and thus I must know the indices. But in fact, one can directly place the second operation at the already dead turning point, so in a combinatorial sense, the shared endpoint is simply assigned to the latter path—that makes sense.
I got confused and a little late to a party but will clarify just for my understanding. Are the prizes awarded for places 1-3 (as this blog suggests) or places 1-21 (as contest website states)?
Have the prize winners been contacted or not yet?
I was contacted for the recording 16h ago:) But I think we Chinese can be contacted more conveniently and sooner.
Hi, we’re still checking the recordings for winners, it is tough for novice and intermediate group. For advanced group top three is currently wmh, Ormlis and you(#2 is clearly some cheater and Starsilk did not record)